Skip to content

Commit 4568f24

Browse files
move time difference issue
1 parent c1ccdda commit 4568f24

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

ydb/core/health_check/health_check.cpp

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2579,15 +2579,17 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
25792579
databaseStatus.set_name(path);
25802580
FillCompute(state, *databaseStatus.mutable_compute(), {&dbContext, "COMPUTE"});
25812581
FillStorage(state, *databaseStatus.mutable_storage(), {&dbContext, "STORAGE"});
2582-
FillTimeDifference(state, {&dbContext, "NODES_TIME_DIFFERENCE"});
2582+
FillTimeDifference(state, *databaseStatus.mutable_time_difference(), {&dbContext, "NODES_TIME_DIFFERENCE"});
25832583
if (databaseStatus.compute().overall() != Ydb::Monitoring::StatusFlag::GREEN
25842584
&& databaseStatus.storage().overall() != Ydb::Monitoring::StatusFlag::GREEN) {
25852585
dbContext.ReportStatus(MaxStatus(databaseStatus.compute().overall(), databaseStatus.storage().overall()),
2586-
"Database has multiple issues", ETags::DBState, { ETags::ComputeState, ETags::StorageState});
2586+
"Database has multiple issues", ETags::DBState, { ETags::ComputeState, ETags::StorageState, ETags::SyncState });
25872587
} else if (databaseStatus.compute().overall() != Ydb::Monitoring::StatusFlag::GREEN) {
2588-
dbContext.ReportStatus(databaseStatus.compute().overall(), "Database has compute issues", ETags::DBState, {ETags::ComputeState});
2588+
dbContext.ReportStatus(databaseStatus.compute().overall(), "Database has compute issues", ETags::DBState, {ETags::ComputeState, ETags::SyncState});
25892589
} else if (databaseStatus.storage().overall() != Ydb::Monitoring::StatusFlag::GREEN) {
2590-
dbContext.ReportStatus(databaseStatus.storage().overall(), "Database has storage issues", ETags::DBState, {ETags::StorageState});
2590+
dbContext.ReportStatus(databaseStatus.storage().overall(), "Database has storage issues", ETags::DBState, {ETags::StorageState, ETags::SyncState});
2591+
} else if (databaseStatus.time_difference().overall() != Ydb::Monitoring::StatusFlag::GREEN) {
2592+
dbContext.ReportStatus(databaseStatus.time_difference().overall(), "Database has time difference issues", ETags::DBState, {ETags::SyncState});
25912593
}
25922594
databaseStatus.set_overall(dbContext.GetOverallStatus());
25932595
context.UpdateMaxStatus(dbContext.GetOverallStatus());
@@ -2597,10 +2599,10 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
25972599
}
25982600
}
25992601

2600-
const TDuration MAX_CLOCKSKEW_ORANGE_ISSUE_TIME = TDuration::MicroSeconds(25000);
2601-
const TDuration MAX_CLOCKSKEW_YELLOW_ISSUE_TIME = TDuration::MicroSeconds(5000);
2602+
const TDuration MAX_CLOCKSKEW_ORANGE_ISSUE_TIME = TDuration::MicroSeconds(25);
2603+
const TDuration MAX_CLOCKSKEW_YELLOW_ISSUE_TIME = TDuration::MicroSeconds(5);
26022604

2603-
void FillTimeDifference(TDatabaseState& databaseState, TSelfCheckContext context) {
2605+
void FillTimeDifference(TDatabaseState& databaseState, Ydb::Monitoring::TimeDifferenceStatus& timeDifferenceStatus, TSelfCheckContext context) {
26042606
long maxClockSkewUs = 0;
26052607
TNodeId maxClockSkewPeerId = 0;
26062608
TNodeId maxClockSkewNodeId = 0;
@@ -2630,6 +2632,7 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
26302632
}
26312633

26322634
if (!maxClockSkewNodeId) {
2635+
timeDifferenceStatus.set_overall(Ydb::Monitoring::StatusFlag::GREEN);
26332636
return;
26342637
}
26352638

@@ -2644,6 +2647,11 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
26442647
} else {
26452648
context.ReportStatus(Ydb::Monitoring::StatusFlag::GREEN);
26462649
}
2650+
2651+
timeDifferenceStatus.set_node(ToString(maxClockSkewNodeId));
2652+
timeDifferenceStatus.set_peer(ToString(maxClockSkewPeerId));
2653+
timeDifferenceStatus.set_max_difference_ms(maxClockSkewTime.MilliSeconds());
2654+
timeDifferenceStatus.set_overall(context.GetOverallStatus());
26472655
}
26482656

26492657
void FillResult(TOverallStateContext context) {

ydb/public/api/protos/ydb_monitoring.proto

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,13 @@ message ComputeStatus {
122122
float shards_quota_usage = 5;
123123
}
124124

125+
message TimeDifferenceStatus {
126+
StatusFlag.Status overall = 1;
127+
int64 max_difference_ms = 2;
128+
string node = 3;
129+
string peer = 4;
130+
}
131+
125132
message LocationNode {
126133
uint32 id = 1;
127134
string host = 2;
@@ -198,6 +205,7 @@ message DatabaseStatus {
198205
StatusFlag.Status overall = 2;
199206
StorageStatus storage = 3;
200207
ComputeStatus compute = 4;
208+
TimeDifferenceStatus time_difference = 5;
201209
}
202210

203211
message SelfCheckResult {

0 commit comments

Comments
 (0)