Skip to content

Commit a2e65ee

Browse files
authored
fix node_id filter in viewer/nodes handler (#11501)
1 parent 868a62a commit a2e65ee

File tree

1 file changed

+29
-24
lines changed

1 file changed

+29
-24
lines changed

ydb/core/viewer/viewer_nodes.h

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1625,35 +1625,40 @@ class TJsonNodes : public TViewerPipeClient {
16251625

16261626
void ProcessResponses() {
16271627
AddEvent("ProcessResponses");
1628-
if (NodesInfoResponse && NodesInfoResponse->IsDone()) {
1629-
if (NodesInfoResponse->IsOk()) {
1630-
bool seenDC = false;
1631-
bool seenRack = false;
1632-
for (const auto& ni : NodesInfoResponse->Get()->Nodes) {
1633-
TNode& node = NodeData.emplace_back();
1634-
node.NodeInfo = ni;
1635-
if (ni.Host && !node.SystemState.GetHost()) {
1636-
node.SystemState.SetHost(ni.Host);
1637-
}
1638-
if (ni.Location.GetDataCenterId() != 0) {
1639-
seenDC = true;
1628+
if (NodesInfoResponse) {
1629+
if (NodesInfoResponse->IsDone()) {
1630+
if (NodesInfoResponse->IsOk()) {
1631+
bool seenDC = false;
1632+
bool seenRack = false;
1633+
for (const auto& ni : NodesInfoResponse->Get()->Nodes) {
1634+
TNode& node = NodeData.emplace_back();
1635+
node.NodeInfo = ni;
1636+
if (ni.Host && !node.SystemState.GetHost()) {
1637+
node.SystemState.SetHost(ni.Host);
1638+
}
1639+
if (ni.Location.GetDataCenterId() != 0) {
1640+
seenDC = true;
1641+
}
1642+
if (ni.Location.GetRackId() != 0) {
1643+
seenRack = true;
1644+
}
16401645
}
1641-
if (ni.Location.GetRackId() != 0) {
1642-
seenRack = true;
1646+
for (TNode& node : NodeData) {
1647+
NodeView.emplace_back(&node);
16431648
}
1649+
InvalidateNodes();
1650+
FieldsAvailable |= FieldsNodeInfo;
1651+
FoundNodes = TotalNodes = NodeView.size();
1652+
NoDC = !seenDC;
1653+
NoRack = !seenRack;
1654+
ApplyEverything();
1655+
} else {
1656+
AddProblem("no-nodes-info");
16441657
}
1645-
for (TNode& node : NodeData) {
1646-
NodeView.emplace_back(&node);
1647-
}
1648-
InvalidateNodes();
1649-
FieldsAvailable |= FieldsNodeInfo;
1650-
FoundNodes = TotalNodes = NodeView.size();
1651-
NoDC = !seenDC;
1652-
NoRack = !seenRack;
1658+
NodesInfoResponse.reset();
16531659
} else {
1654-
AddProblem("no-nodes-info");
1660+
return; // no further processing until we get node list
16551661
}
1656-
NodesInfoResponse.reset();
16571662
}
16581663

16591664
if (NodeStateResponse && NodeStateResponse->IsDone() && TotalNodes > 0) {

0 commit comments

Comments
 (0)