@@ -232,8 +232,8 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
232
232
THashMap<std::pair<TTabletId, NNodeWhiteboard::TFollowerId>, const NKikimrHive::TTabletInfo*> MergedTabletState;
233
233
THashMap<TNodeId, TNodeTabletState> MergedNodeTabletState;
234
234
THashMap<TNodeId, ui32> NodeRestartsPerPeriod;
235
- ui64 StorageQuota;
236
- ui64 StorageUsage;
235
+ ui64 StorageQuota = 0 ;
236
+ ui64 StorageUsage = 0 ;
237
237
TMaybeServerlessComputeResourcesMode ServerlessComputeResourcesMode;
238
238
};
239
239
@@ -534,6 +534,10 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
534
534
}
535
535
536
536
void Bootstrap () {
537
+ Cerr << " <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< " << Endl;
538
+ Cerr << " <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< " << Endl;
539
+ Cerr << " <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< " << Endl;
540
+ Cerr << " !!!!!!!!!!!!!!! Bootstrap() " << Endl;
537
541
FilterDatabase = Request->Database ;
538
542
if (Request->Request .operation_params ().has_operation_timeout ()) {
539
543
Timeout = GetDuration (Request->Request .operation_params ().operation_timeout ());
@@ -585,38 +589,10 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
585
589
586
590
Send (GetNameserviceActorId (), new TEvInterconnect::TEvListNodes ());
587
591
++Requests;
588
- // Send(MakeBlobStorageNodeWardenID(SelfId().NodeId()), new TEvNodeWardenQueryStorageConfig(false));
589
- // ++Requests;
590
592
591
593
Become (&TThis::StateWait, Timeout, new TEvents::TEvWakeup ());
592
594
}
593
595
594
- // void Handle(TEvNodeWardenStorageConfig::TPtr ev) {
595
- // Cerr << "iiiiii TEvNodeWardenStorageConfig " << Endl;
596
- // if (const NKikimrBlobStorage::TStorageConfig& config = *ev->Get()->Config; config.HasBlobStorageConfig()) {
597
- // if (const auto& bsConfig = config.GetBlobStorageConfig(); bsConfig.HasServiceSet()) {
598
- // const auto& staticConfig = bsConfig.GetServiceSet();
599
- // for (const NKikimrBlobStorage::TNodeWardenServiceSet_TPDisk& pDisk : staticConfig.pdisks()) {
600
- // RequestStorageNode(pDisk.GetNodeID());
601
- // }
602
- // Cerr << "iiiiii staticConfig.groups().size() " << staticConfig.groups().size() << Endl;
603
- // for (const NKikimrBlobStorage::TGroupInfo& group : staticConfig.groups()) {
604
- // ValidGroups.emplace(group.GetGroupID());
605
- // TString storagePoolName = group.GetStoragePoolName();
606
- // if (!storagePoolName) {
607
- // storagePoolName = STATIC_STORAGE_POOL_NAME;
608
- // }
609
- // StoragePoolState[storagePoolName].Groups.emplace(group.groupid());
610
- // if (!IsSpecificDatabaseFilter()) {
611
- // DatabaseState[DomainPath].StoragePoolNames.emplace(storagePoolName);
612
- // }
613
- // }
614
- // }
615
- // }
616
-
617
- // RequestDone("TEvNodeWardenStorageConfig");
618
- // }
619
-
620
596
STATEFN (StateWait) {
621
597
switch (ev->GetTypeRewrite ()) {
622
598
hFunc (TEvents::TEvUndelivered, Handle );
@@ -628,24 +604,24 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
628
604
hFunc (TEvHive::TEvResponseHiveInfo, Handle );
629
605
hFunc (NSchemeShard::TEvSchemeShard::TEvDescribeSchemeResult, Handle );
630
606
hFunc (TEvTxProxySchemeCache::TEvNavigateKeySetResult, Handle )
631
- // hFunc(TEvBlobStorage::TEvControllerSelectGroupsResult, Handle);
632
607
hFunc (TEvBlobStorage::TEvControllerConfigResponse, Handle );
633
608
hFunc (NNodeWhiteboard::TEvWhiteboard::TEvSystemStateResponse, Handle );
634
609
hFunc (TEvInterconnect::TEvNodeDisconnected, Disconnected);
635
610
hFunc (TEvTabletPipe::TEvClientDestroyed, Handle );
636
611
hFunc (TEvTabletPipe::TEvClientConnected, Handle );
637
612
hFunc (TEvPrivate::TEvRetryNodeWhiteboard, Handle );
638
613
cFunc (TEvents::TSystem::Wakeup, HandleTimeout);
639
- // hFunc(TEvNodeWardenStorageConfig, Handle);
640
614
}
641
615
}
642
616
643
617
void RequestDone (const char * name) {
644
618
--Requests;
619
+ Cerr << " Requests " << Requests << Endl;
645
620
if (Requests == 0 ) {
646
621
ReplyAndPassAway ();
647
622
}
648
623
if (Requests < 0 ) {
624
+ Cerr << " OOOOOPS!!!!!!!! " << Endl;
649
625
BLOG_CRIT (" Requests < 0 in RequestDone(" << name << " )" );
650
626
}
651
627
}
@@ -703,13 +679,6 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
703
679
RequestTabletPipe (ConsoleId, " TEvListTenantsRequest" , request.Release ());
704
680
}
705
681
706
- // void RequestSelectGroups(const TString& storagePoolName) {
707
- // THolder<TEvBlobStorage::TEvControllerSelectGroups> request = MakeHolder<TEvBlobStorage::TEvControllerSelectGroups>();
708
- // request->Record.SetReturnAllMatchingGroups(true);
709
- // request->Record.AddGroupParameters()->MutableStoragePoolSpecifier()->SetName(storagePoolName);
710
- // RequestTabletPipe(BsControllerId, "TEvControllerSelectGroups:" + storagePoolName, request.Release());
711
- // }
712
-
713
682
void RequestConfig () {
714
683
Cerr << " iiiiiii RequestConfig " << Endl;
715
684
THolder<TEvBlobStorage::TEvControllerConfigRequest> request = MakeHolder<TEvBlobStorage::TEvControllerConfigRequest>();
@@ -820,6 +789,7 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
820
789
}
821
790
822
791
void HandleTimeout () {
792
+ Cerr << " !!!!!!!!!!!!!!! ReplyAndPassAway() " << Endl;
823
793
ReplyAndPassAway ();
824
794
}
825
795
@@ -853,25 +823,13 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
853
823
Cerr << " iiiii 1" << Endl;
854
824
const NKikimrBlobStorage::TConfigResponse::TStatus& pbStatus (pbRecord.GetResponse ().GetStatus (0 ));
855
825
if (pbStatus.HasBaseConfig ()) {
856
- Cerr << " iiiii BaseConfig" ;
826
+ Cerr << " iiiii BaseConfig" << Endl ;
857
827
BaseConfig = ev->Release ();
858
828
}
859
829
}
860
830
RequestDone (" TEvControllerConfigResponse" );
861
831
}
862
832
863
- // void Handle(TEvBlobStorage::TEvControllerSelectGroupsResult::TPtr& ev) {
864
- // TabletRequests.CompleteRequest(ev->Cookie);
865
- // for (const auto& matchingGroups : ev->Get()->Record.matchinggroups()) {
866
- // for (const auto& group : matchingGroups.groups()) {
867
- // TString storagePoolName = group.storagepoolname();
868
- // StoragePoolState[storagePoolName].Groups.emplace(group.groupid());
869
- // StoragePoolState[storagePoolName].AuthenticGroups.emplace(group.groupid());
870
- // }
871
- // }
872
- // RequestDone("TEvControllerSelectGroupsResult");
873
- // }
874
-
875
833
void Handle (NSchemeShard::TEvSchemeShard::TEvDescribeSchemeResult::TPtr& ev) {
876
834
TabletRequests.CompleteRequest (ev->Cookie );
877
835
if (ev->Get ()->GetRecord ().status () == NKikimrScheme::StatusSuccess) {
@@ -880,16 +838,19 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
880
838
Cerr << " AAAAA TEvDescribeSchemeResult path " << path << Endl;
881
839
for (const auto & storagePool : ev->Get ()->GetRecord ().pathdescription ().domaindescription ().storagepools ()) {
882
840
TString storagePoolName = storagePool.name ();
841
+ if (!storagePoolName) {
842
+ storagePoolName = STATIC_STORAGE_POOL_NAME;
843
+ }
883
844
Cerr << " AAAAA TEvDescribeSchemeResult storagePoolName " << storagePoolName << Endl;
884
845
PathsByPoolName[storagePoolName].emplace (path); // no poolId in TEvDescribeSchemeResult, so it's neccesary to keep poolNames instead
885
846
}
886
847
if (path == DomainPath) {
887
848
state.StoragePools .emplace (0 ); // static group has poolId = 0
888
849
}
889
- Cerr << " AAAAA TEvDescribeSchemeResult state.StorageUsage " << state.StorageUsage << path << Endl;
890
- Cerr << " AAAAA TEvDescribeSchemeResult state.StorageQuota " << state.StorageQuota << path << Endl;
891
850
state.StorageUsage = ev->Get ()->GetRecord ().pathdescription ().domaindescription ().diskspaceusage ().tables ().totalsize ();
892
851
state.StorageQuota = ev->Get ()->GetRecord ().pathdescription ().domaindescription ().databasequotas ().data_size_hard_quota ();
852
+ Cerr << " AAAAA TEvDescribeSchemeResult state.StorageUsage " << state.StorageUsage << path << Endl;
853
+ Cerr << " AAAAA TEvDescribeSchemeResult state.StorageQuota " << state.StorageQuota << path << Endl;
893
854
894
855
DescribeByPath[path] = ev->Release ();
895
856
}
@@ -1121,14 +1082,15 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
1121
1082
for (const NKikimrBlobStorage::TDefineStoragePool& pool : spStatus.GetStoragePool ()) {
1122
1083
ui64 poolId = pool.GetStoragePoolId ();
1123
1084
TString storagePoolName = pool.GetName ();
1124
- Cerr << " iiiiiii pool storagePoolName " << storagePoolName << Endl;
1125
1085
if (!storagePoolName) {
1126
1086
storagePoolName = STATIC_STORAGE_POOL_NAME;
1127
1087
}
1088
+ Cerr << " zzzzzz pool storagePoolName " << storagePoolName << Endl;
1128
1089
StoragePoolState[poolId].Name = storagePoolName;
1129
1090
StoragePoolState[poolId].Kind = pool.GetKind ();
1130
1091
1131
1092
for (const TString& path : PathsByPoolName[storagePoolName]) {
1093
+ Cerr << " zzzzzzz path " << path << Endl;
1132
1094
DatabaseState[path].StoragePools .emplace (poolId);
1133
1095
}
1134
1096
if (!IsSpecificDatabaseFilter ()) {
@@ -1401,10 +1363,6 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
1401
1363
return TStringBuilder () << vSlot.vslotid ().nodeid () << " -" << vSlot.vslotid ().pdiskid ();
1402
1364
}
1403
1365
1404
- // static TString GetPDiskId(const NKikimrBlobStorage::TNodeWardenServiceSet_TPDisk& pDisk) {
1405
- // return TStringBuilder() << pDisk.nodeid() << "-" << pDisk.pdiskid();
1406
- // }
1407
-
1408
1366
void FillPDiskStatus (const TString& pDiskId, Ydb::Monitoring::StoragePDiskStatus& storagePDiskStatus, TSelfCheckContext context) {
1409
1367
context.Location .clear_database (); // PDisks are shared between databases
1410
1368
context.Location .mutable_storage ()->mutable_pool ()->clear_name (); // PDisks are shared between pools
@@ -2027,6 +1985,8 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
2027
1985
break ;
2028
1986
}
2029
1987
}
1988
+ Cerr << " SSSSSSSSSSSS databaseState.StorageUsage " << databaseState.StorageUsage << Endl;
1989
+ Cerr << " SSSSSSSSSSSS databaseState.StorageQuota " << databaseState.StorageQuota << Endl;
2030
1990
if (databaseState.StorageQuota > 0 ) {
2031
1991
auto usage = (float )databaseState.StorageUsage / databaseState.StorageQuota ;
2032
1992
if (usage > 0.9 ) {
@@ -2176,11 +2136,14 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
2176
2136
if (!FilterDatabase) {
2177
2137
TDatabaseState unknownDatabase;
2178
2138
for (auto & [id, pool] : StoragePoolState) {
2139
+ Cerr << " iiiiiiiiiii check poolId" << id << " pool.Name " << pool.Name << Endl;
2179
2140
if (StoragePoolSeen.count (id) == 0 ) {
2141
+ Cerr << " iiiiiiiiiii unknownDatabase poolId" << id << " pool.Name " << pool.Name << Endl;
2180
2142
unknownDatabase.StoragePools .insert (id);
2181
2143
}
2182
2144
}
2183
2145
if (!unknownDatabase.StoragePools .empty ()) {
2146
+ Cerr << " iiiiiiiiiii unknownDatabase not empty" << Endl;
2184
2147
Ydb::Monitoring::DatabaseStatus& databaseStatus (*context.Result ->add_database_status ());
2185
2148
TSelfCheckResult storageContext;
2186
2149
FillStorage (unknownDatabase, *databaseStatus.mutable_storage (), {&storageContext, " STORAGE" });
@@ -2230,6 +2193,7 @@ class TSelfCheckRequest : public TActorBootstrapped<TSelfCheckRequest> {
2230
2193
}
2231
2194
2232
2195
void ReplyAndPassAway () {
2196
+ Cerr << " <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< " << Endl;
2233
2197
THolder<TEvSelfCheckResult> response = MakeHolder<TEvSelfCheckResult>();
2234
2198
Ydb::Monitoring::SelfCheckResult& result = response->Result ;
2235
2199
0 commit comments