Skip to content

Commit 3352eb2

Browse files
committed
fix maximum pdisks per node calculation (ydb-platform#9563)
1 parent 29174f3 commit 3352eb2

File tree

3 files changed

+26
-5
lines changed

3 files changed

+26
-5
lines changed

ydb/core/viewer/json_handlers_viewer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ void InitViewerHealthCheckJsonHandler(TJsonHandlers& handlers) {
243243
}
244244

245245
void InitViewerNodesJsonHandler(TJsonHandlers& handlers) {
246-
handlers.AddHandler("/viewer/nodes", new TJsonHandler<TJsonNodes>(TJsonNodes::GetSwagger()), 4);
246+
handlers.AddHandler("/viewer/nodes", new TJsonHandler<TJsonNodes>(TJsonNodes::GetSwagger()), 5);
247247
}
248248

249249
void InitViewerACLJsonHandler(TJsonHandlers &jsonHandlers) {

ydb/core/viewer/json_pipe_req.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,8 @@ class TViewerPipeClient : public TActorBootstrapped<TViewerPipeClient> {
8585
}
8686
if (!IsDone()) {
8787
Span.EndOk();
88+
Response = std::move(response);
8889
}
89-
Response = std::move(response);
9090
}
9191

9292
void Set(TAutoPtr<TEventHandle<T>>&& response) {

ydb/core/viewer/viewer_nodes.h

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,16 @@ class TJsonNodes : public TViewerPipeClient {
769769
PDisksResponse = RequestBSControllerPDisks();
770770
}
771771
}
772+
if (FieldsRequired.test(+ENodeFields::PDisks)) {
773+
if (!PDisksResponse) {
774+
PDisksResponse = RequestBSControllerPDisks();
775+
}
776+
}
777+
if (FieldsRequired.test(+ENodeFields::VDisks)) {
778+
if (!VSlotsResponse) {
779+
VSlotsResponse = RequestBSControllerVSlots();
780+
}
781+
}
772782
if (FieldsNeeded(FieldsHiveNodeStat) && !FilterDatabase && !FilterPath) {
773783
TTabletId rootHiveId = AppData()->DomainsInfo->GetHive();
774784
HivesToAsk.push_back(rootHiveId);
@@ -2006,18 +2016,22 @@ class TJsonNodes : public TViewerPipeClient {
20062016
bool result = false;
20072017
if (StoragePoolsResponse && StoragePoolsResponse->Error(error)) {
20082018
ProcessResponses();
2019+
RequestDone();
20092020
result = true;
20102021
}
20112022
if (GroupsResponse && GroupsResponse->Error(error)) {
20122023
ProcessResponses();
2024+
RequestDone();
20132025
result = true;
20142026
}
20152027
if (VSlotsResponse && VSlotsResponse->Error(error)) {
20162028
ProcessResponses();
2029+
RequestDone();
20172030
result = true;
20182031
}
20192032
if (PDisksResponse && PDisksResponse->Error(error)) {
20202033
ProcessResponses();
2034+
RequestDone();
20212035
result = true;
20222036
}
20232037
return result;
@@ -2032,15 +2046,16 @@ class TJsonNodes : public TViewerPipeClient {
20322046
if (it->second.Error(error)) {
20332047
AddProblem("hive-error");
20342048
ProcessResponses();
2049+
RequestDone();
20352050
}
20362051
}
20372052
if (ev->Get()->TabletId == GetBSControllerId()) {
20382053
if (OnBscError(error)) {
20392054
AddProblem("bsc-error");
20402055
}
20412056
}
2057+
FailPipeConnect(ev->Get()->TabletId);
20422058
}
2043-
TBase::Handle(ev); // all RequestDone() are handled by base handler
20442059
}
20452060

20462061
void HandleTimeout(TEvents::TEvWakeup::TPtr& ev) {
@@ -2049,28 +2064,34 @@ class TJsonNodes : public TViewerPipeClient {
20492064
if (ev->Get()->Tag == TimeoutTablets) {
20502065
if (NodesInfoResponse && NodesInfoResponse->Error(error)) {
20512066
ProcessResponses();
2067+
RequestDone();
20522068
}
20532069
if (NodeStateResponse && NodeStateResponse->Error(error)) {
20542070
ProcessResponses();
2071+
RequestDone();
20552072
}
20562073
if (DatabaseNavigateResponse && DatabaseNavigateResponse->Error(error)) {
20572074
ProcessResponses();
2075+
RequestDone();
20582076
}
20592077
if (ResourceNavigateResponse && ResourceNavigateResponse->Error(error)) {
20602078
ProcessResponses();
2079+
RequestDone();
20612080
}
20622081
if (PathNavigateResponse && PathNavigateResponse->Error(error)) {
20632082
ProcessResponses();
2083+
RequestDone();
20642084
}
20652085
if (OnBscError(error)) {
20662086
AddProblem("bsc-timeout");
2087+
FailPipeConnect(GetBSControllerId());
20672088
}
2068-
RequestDone(FailPipeConnect(GetBSControllerId()));
20692089
for (auto& [hiveId, response] : HiveNodeStats) {
20702090
if (response.Error(error)) {
20712091
AddProblem("hive-timeout");
20722092
ProcessResponses();
2073-
RequestDone(FailPipeConnect(hiveId));
2093+
RequestDone();
2094+
FailPipeConnect(hiveId);
20742095
}
20752096
}
20762097
}

0 commit comments

Comments
 (0)