diff options
author | andrew-rykov <arykov@ydb.tech> | 2023-11-01 00:23:34 +0300 |
---|---|---|
committer | andrew-rykov <arykov@ydb.tech> | 2023-11-01 00:59:00 +0300 |
commit | 05c36e9b26083f1221ef39ba25e40a62f04000b0 (patch) | |
tree | 62f6475485484e95220d2aac4cd0df32d3a2fdc6 | |
parent | f3dd5d2b3918da02d103b2a1197270eca394508e (diff) | |
download | ydb-05c36e9b26083f1221ef39ba25e40a62f04000b0.tar.gz |
KIKIMR-14204 added for bsc no info type in issue
-rw-r--r-- | ydb/core/health_check/health_check.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/ydb/core/health_check/health_check.cpp b/ydb/core/health_check/health_check.cpp index 5549cd3530..dd00f6db72 100644 --- a/ydb/core/health_check/health_check.cpp +++ b/ydb/core/health_check/health_check.cpp @@ -1360,7 +1360,7 @@ public: auto itPDisk = BSConfigPDisks.find(pDiskId); if (itPDisk == BSConfigPDisks.end()) { // this report, in theory, can't happen because there was pdisk mention in bsc vslot info. this pdisk info have to exists in bsc too - context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide expected pdisk information"); + context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide expected pdisk information", ETags::PDiskState); storagePDiskStatus.set_overall(context.GetOverallStatus()); return; } @@ -1368,7 +1368,7 @@ public: ui32 nodeId = itPDisk->second->nodeid(); auto itNode = BSConfigNodes.find(nodeId); if (itNode == BSConfigNodes.end()) { // this report, in theory, can't happen because there was node mention in bsc pdisk info. this node info have to exists in bsc too - context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide expected node information"); + context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide expected node information", ETags::PDiskState); storagePDiskStatus.set_overall(context.GetOverallStatus()); return; } @@ -1432,7 +1432,7 @@ public: case NKikimrBlobStorage::TPDiskState::Reserved14: case NKikimrBlobStorage::TPDiskState::Reserved15: case NKikimrBlobStorage::TPDiskState::Reserved16: - context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, "Unknown PDisk state"); + context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, "Unknown PDisk state", ETags::PDiskState); break; } @@ -1519,26 +1519,26 @@ public: storageVDiskStatus.set_id(vSlotId); if (itVSlot == BSConfigVSlots.end()) { // this report, in theory, can't happen because there was slot mention in bsc group info. this slot info have to exists in bsc too - context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide information"); + context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide information", ETags::VDiskState); storageVDiskStatus.set_overall(context.GetOverallStatus()); return; } - if (itVSlot->second->vslotid().has_pdiskid()) { - TString pDiskId = GetPDiskId(*itVSlot->second); - FillPDiskStatus(pDiskId, *storageVDiskStatus.mutable_pdisk(), {&context, "PDISK"}); - } - auto& vslot = *itVSlot->second; const auto *descriptor = NKikimrBlobStorage::EVDiskStatus_descriptor(); auto status = descriptor->FindValueByName(vslot.status()); if (!status) { // this case is not expected because becouse bsc assignes status according EVDiskStatus enum - context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide known status"); + context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide known status", ETags::VDiskState); storageVDiskStatus.set_overall(context.GetOverallStatus()); return; } + if (itVSlot->second->vslotid().has_pdiskid()) { + TString pDiskId = GetPDiskId(*itVSlot->second); + FillPDiskStatus(pDiskId, *storageVDiskStatus.mutable_pdisk(), {&context, "PDISK"}); + } + switch (status->number()) { case NKikimrBlobStorage::ERROR: { // the disk is not operational at all context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "VDisk is not available", ETags::VDiskState,{ETags::PDiskState}); @@ -1848,7 +1848,7 @@ public: auto itGroup = BSConfigGroups.find(groupId); if (itGroup == BSConfigGroups.end()) { - context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide information"); + context.ReportStatus(Ydb::Monitoring::StatusFlag::RED, TStringBuilder() << "System tablet BSC didn't provide information", ETags::GroupState); storageGroupStatus.set_overall(context.GetOverallStatus()); return; } |