@@ -1625,35 +1625,40 @@ class TJsonNodes : public TViewerPipeClient {
1625
1625
1626
1626
void ProcessResponses () {
1627
1627
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
+ }
1640
1645
}
1641
- if (ni. Location . GetRackId () != 0 ) {
1642
- seenRack = true ;
1646
+ for (TNode& node : NodeData ) {
1647
+ NodeView. emplace_back (&node) ;
1643
1648
}
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" );
1644
1657
}
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 ();
1653
1659
} else {
1654
- AddProblem ( " no-nodes-info " );
1660
+ return ; // no further processing until we get node list
1655
1661
}
1656
- NodesInfoResponse.reset ();
1657
1662
}
1658
1663
1659
1664
if (NodeStateResponse && NodeStateResponse->IsDone () && TotalNodes > 0 ) {
0 commit comments