Skip to content

Add stricter types to some of the fields in the database status. #2272

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions api/v1beta2/foundationdb_status.go
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@ type FoundationDBStatusProcessMessage struct {
// roles.
type FoundationDBStatusProcessRoleInfo struct {
// Role defines the role a process currently has
Role string `json:"role,omitempty"`
Role ProcessRole `json:"role,omitempty"`
// StoredBytes defines the number of bytes that are currently stored for this process.
StoredBytes int `json:"stored_bytes,omitempty"`
// ID represent the role ID.
Expand Down Expand Up @@ -275,7 +275,7 @@ type FoundationDBStatusGRVStatistics struct {
// the database
type FoundationDBStatusDataStatistics struct {
// KVBytes provides the total Key Value Bytes in the database.
KVBytes int `json:"total_kv_size_bytes,omitempty"`
KVBytes int64 `json:"total_kv_size_bytes,omitempty"`

// MovingData provides information about the current data movement.
MovingData FoundationDBStatusMovingData `json:"moving_data,omitempty"`
Expand Down
32 changes: 16 additions & 16 deletions api/v1beta2/foundationdb_status_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,17 +75,17 @@ var _ = Describe("FoundationDBStatus", func() {
Version: "7.1.0-rc1",
UptimeSeconds: 85.0026,
Roles: []FoundationDBStatusProcessRoleInfo{
{Role: string(ProcessRoleCoordinator)},
{Role: ProcessRoleCoordinator},
{
Role: string(ProcessRoleGrvProxy),
Role: ProcessRoleGrvProxy,
ID: "0de7f5c5e549cad1",
GRVLatencyStatistics: FoundationDBStatusGRVStatistics{
Batch: FoundationDBStatusPerfStatistics{Count: pointer.Int(6), Median: pointer.Float64(0.000531435), P99: pointer.Float64(0.00130677)},
Default: FoundationDBStatusPerfStatistics{Count: pointer.Int(225), Median: pointer.Float64(0.00062561), P99: pointer.Float64(0.010715200000000001)},
},
},
{
Role: string(ProcessRoleStorage),
Role: ProcessRoleStorage,
ID: "9941616400759d37",
DataLag: FoundationDBStatusLagInfo{
Seconds: 0.19625800000000002,
Expand Down Expand Up @@ -117,9 +117,9 @@ var _ = Describe("FoundationDBStatus", func() {
Version: "7.1.0-rc1",
UptimeSeconds: 85.0031,
Roles: []FoundationDBStatusProcessRoleInfo{
{Role: string(ProcessRoleCoordinator)},
{Role: ProcessRoleCoordinator},
{
Role: string(ProcessClassStorage),
Role: ProcessRoleStorage,
ID: "389c23d59a646e52",
DataLag: FoundationDBStatusLagInfo{Seconds: 2.1227, Versions: 2122697},
KVStoreUsedBytes: pointer.Int64(104878232),
Expand All @@ -129,7 +129,7 @@ var _ = Describe("FoundationDBStatus", func() {
ReadLatencyStatistics: FoundationDBStatusPerfStatistics{Count: pointer.Int(334), Median: pointer.Float64(0.000102282), P99: pointer.Float64(0.000386477)},
},
{
Role: string(ProcessRoleResolver),
Role: ProcessRoleResolver,
ID: "dfd679875a386d06",
},
},
Expand All @@ -152,9 +152,9 @@ var _ = Describe("FoundationDBStatus", func() {
Version: "7.1.0-rc1",
UptimeSeconds: 85.0029,
Roles: []FoundationDBStatusProcessRoleInfo{
{Role: string(ProcessRoleCoordinator)},
{Role: ProcessRoleCoordinator},
{
Role: string(ProcessRoleCommitProxy),
Role: ProcessRoleCommitProxy,
ID: "0eb90e4a0ece85b3",
CommitLatencyStatistics: FoundationDBStatusPerfStatistics{
Count: pointer.Int(31),
Expand All @@ -163,7 +163,7 @@ var _ = Describe("FoundationDBStatus", func() {
},
},
{
Role: string(ProcessRoleStorage),
Role: ProcessRoleStorage,
ID: "b5e42e100018bf11",
DataLag: FoundationDBStatusLagInfo{
Seconds: 0.19625800000000002,
Expand Down Expand Up @@ -196,15 +196,15 @@ var _ = Describe("FoundationDBStatus", func() {
UptimeSeconds: 85.0027,
Roles: []FoundationDBStatusProcessRoleInfo{
{
Role: string(ProcessRoleMaster),
Role: ProcessRoleMaster,
ID: "b05dfb13cf568dfd",
},
{
Role: string(ProcessRoleDataDistributor),
Role: ProcessRoleDataDistributor,
ID: "cfdd8010b58eda01",
},
{
Role: string(ProcessRoleRatekeeper),
Role: ProcessRoleRatekeeper,
ID: "cbeb915c6cceb4a9",
},
},
Expand All @@ -228,7 +228,7 @@ var _ = Describe("FoundationDBStatus", func() {
UptimeSeconds: 85.0029,
Roles: []FoundationDBStatusProcessRoleInfo{
{
Role: string(ProcessClassClusterController),
Role: ProcessRoleClusterController,
ID: "1f953018ad2e746f",
},
},
Expand All @@ -252,7 +252,7 @@ var _ = Describe("FoundationDBStatus", func() {
UptimeSeconds: 85.0029,
Roles: []FoundationDBStatusProcessRoleInfo{
{
Role: string(ProcessRoleLog),
Role: ProcessRoleLog,
ID: "2c66a861b33b2697",
KVStoreUsedBytes: pointer.Int64(104861752),
KVStoreTotalBytes: pointer.Int64(135012552704),
Expand Down Expand Up @@ -280,7 +280,7 @@ var _ = Describe("FoundationDBStatus", func() {
UptimeSeconds: 85.003,
Roles: []FoundationDBStatusProcessRoleInfo{
{
Role: string(ProcessRoleLog),
Role: ProcessRoleLog,
ID: "56cf105980ec2b07",
KVStoreUsedBytes: pointer.Int64(104861752),
KVStoreTotalBytes: pointer.Int64(135012552704),
Expand Down Expand Up @@ -308,7 +308,7 @@ var _ = Describe("FoundationDBStatus", func() {
UptimeSeconds: 85.0027,
Roles: []FoundationDBStatusProcessRoleInfo{
{
Role: string(ProcessRoleLog),
Role: ProcessRoleLog,
ID: "31754d1d7d8d6f05",
KVStoreUsedBytes: pointer.Int64(104861752),
KVStoreTotalBytes: pointer.Int64(135012552704),
Expand Down
6 changes: 3 additions & 3 deletions controllers/bounce_processes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -729,7 +729,7 @@ var _ = Describe("bounceProcesses", func() {
Address: fdbv1beta2.ProcessAddress{StringAddress: "192.168.0.2:4500:tls"},
Roles: []fdbv1beta2.FoundationDBStatusProcessRoleInfo{
{
Role: string(fdbv1beta2.ProcessRoleClusterController),
Role: fdbv1beta2.ProcessRoleClusterController,
},
},
UptimeSeconds: 61.0,
Expand Down Expand Up @@ -829,7 +829,7 @@ var _ = Describe("bounceProcesses", func() {
Address: fdbv1beta2.ProcessAddress{StringAddress: "192.168.0.2:4500:tls"},
Roles: []fdbv1beta2.FoundationDBStatusProcessRoleInfo{
{
Role: string(fdbv1beta2.ProcessRoleClusterController),
Role: fdbv1beta2.ProcessRoleClusterController,
},
},
},
Expand Down Expand Up @@ -875,7 +875,7 @@ var _ = Describe("bounceProcesses", func() {
Address: fdbv1beta2.ProcessAddress{StringAddress: "192.168.0.2:4500:tls"},
Roles: []fdbv1beta2.FoundationDBStatusProcessRoleInfo{
{
Role: string(fdbv1beta2.ProcessRoleClusterController),
Role: fdbv1beta2.ProcessRoleClusterController,
},
},
},
Expand Down
8 changes: 4 additions & 4 deletions e2e/fixtures/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -312,7 +312,7 @@ func (fdbCluster *FdbCluster) GetProcessCount(targetRole fdbv1beta2.ProcessRole)

for _, process := range status.Cluster.Processes {
for _, role := range process.Roles {
if role.Role == string(targetRole) {
if role.Role == targetRole {
pCounter++
}
}
Expand Down Expand Up @@ -384,7 +384,7 @@ func (fdbCluster FdbCluster) GetStatus() *fdbv1beta2.FoundationDBStatus {

// RoleInfo stores information for one particular worker role.
type RoleInfo struct {
Role string
Role fdbv1beta2.ProcessRole
ID string
}

Expand Down Expand Up @@ -412,9 +412,9 @@ func (fdbCluster *FdbCluster) GetPodsWithRole(role fdbv1beta2.ProcessRole) []cor
var matches []corev1.Pod
for _, p := range pods.Items {
roles := roleMap[GetProcessGroupID(p)]
rolesAdded := map[string]fdbv1beta2.None{}
rolesAdded := map[fdbv1beta2.ProcessRole]fdbv1beta2.None{}
for _, r := range roles {
if r.Role == string(role) {
if r.Role == role {
_, ok := rolesAdded[r.Role]
if !ok {
rolesAdded[r.Role] = fdbv1beta2.None{}
Expand Down
2 changes: 1 addition & 1 deletion pkg/fdbadminclient/mock/admin_client_mock.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ func (client *AdminClient) GetStatus() (*fdbv1beta2.FoundationDBStatus, error) {
_, isCoordinator := coordinators[fullAddress.String()]
if isCoordinator && !excluded && !underMaintenance {
coordinators[fullAddress.String()] = true
fdbRoles = append(fdbRoles, fdbv1beta2.FoundationDBStatusProcessRoleInfo{Role: string(fdbv1beta2.ProcessRoleCoordinator)})
fdbRoles = append(fdbRoles, fdbv1beta2.FoundationDBStatusProcessRoleInfo{Role: fdbv1beta2.ProcessRoleCoordinator})
}

version, ok := client.VersionProcessGroups[processGroupID]
Expand Down
2 changes: 1 addition & 1 deletion pkg/fdbstatus/status_checks.go
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ func GetCoordinatorsFromStatus(status *fdbv1beta2.FoundationDBStatus) map[string

for _, pInfo := range status.Cluster.Processes {
for _, roleInfo := range pInfo.Roles {
if roleInfo.Role != string(fdbv1beta2.ProcessRoleCoordinator) {
if roleInfo.Role != fdbv1beta2.ProcessRoleCoordinator {
continue
}

Expand Down
4 changes: 2 additions & 2 deletions pkg/fdbstatus/status_checks_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ var _ = Describe("status_checks", func() {
Excluded: true,
Roles: []fdbv1beta2.FoundationDBStatusProcessRoleInfo{
{
Role: string(fdbv1beta2.ProcessRoleStorage),
Role: fdbv1beta2.ProcessRoleStorage,
},
},
Locality: map[string]string{
Expand Down Expand Up @@ -287,7 +287,7 @@ var _ = Describe("status_checks", func() {
Excluded: false,
Roles: []fdbv1beta2.FoundationDBStatusProcessRoleInfo{
{
Role: string(fdbv1beta2.ProcessRoleStorage),
Role: fdbv1beta2.ProcessRoleStorage,
},
},
},
Expand Down
Loading