Skip to content

Commit c8df0bb

Browse files
committed
Create simple counter to count success data erasure and timeouts in one iteration of data erasure (#18251)
1 parent 4c383db commit c8df0bb

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

ydb/core/tx/schemeshard/schemeshard__data_erasure_manager.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ class TDataErasureManager {
2727
ui64 Generation = 0;
2828
bool Running = false;
2929

30+
ui64 CounterDataErasureOk = 0;
31+
ui64 CounterDataErasureTimeout = 0;
32+
3033
public:
3134
TDataErasureManager(TSchemeShard* const schemeShard);
3235

ydb/core/tx/schemeshard/schemeshard__root_data_erasure_manager.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,8 @@ void TRootDataErasureManager::ClearWaitingDataErasureRequests() {
111111
}
112112

113113
void TRootDataErasureManager::Run(NIceDb::TNiceDb& db) {
114+
CounterDataErasureOk = 0;
115+
CounterDataErasureTimeout = 0;
114116
Status = EDataErasureStatus::IN_PROGRESS;
115117
StartTime = AppData(SchemeShard->ActorContext())->TimeProvider->Now();
116118
for (auto& [pathId, subdomain] : SchemeShard->SubDomains) {
@@ -212,8 +214,8 @@ NOperationQueue::EStartStatus TRootDataErasureManager::StartDataErasure(const TP
212214
}
213215

214216
void TRootDataErasureManager::OnTimeout(const TPathId& pathId) {
217+
CounterDataErasureTimeout++;
215218
UpdateMetrics();
216-
SchemeShard->TabletCounters->Cumulative()[COUNTER_DATA_ERASURE_TIMEOUT].Increment(1);
217219

218220
ActivePipes.erase(pathId);
219221

@@ -317,7 +319,7 @@ void TRootDataErasureManager::OnDone(const TPathId& pathId, NIceDb::TNiceDb& db)
317319
WaitingDataErasureTenants.erase(it);
318320
}
319321

320-
SchemeShard->TabletCounters->Cumulative()[COUNTER_DATA_ERASURE_OK].Increment(1);
322+
CounterDataErasureOk++;
321323
UpdateMetrics();
322324

323325
if (WaitingDataErasureTenants.empty()) {
@@ -482,6 +484,8 @@ void TRootDataErasureManager::HandleNewPartitioning(const std::vector<TShardIdx>
482484
void TRootDataErasureManager::UpdateMetrics() {
483485
SchemeShard->TabletCounters->Simple()[COUNTER_DATA_ERASURE_QUEUE_SIZE].Set(Queue->Size());
484486
SchemeShard->TabletCounters->Simple()[COUNTER_DATA_ERASURE_QUEUE_RUNNING].Set(Queue->RunningSize());
487+
SchemeShard->TabletCounters->Simple()[COUNTER_DATA_ERASURE_OK].Set(CounterDataErasureOk);
488+
SchemeShard->TabletCounters->Simple()[COUNTER_DATA_ERASURE_TIMEOUT].Set(CounterDataErasureTimeout);
485489
}
486490

487491
TRootDataErasureManager::TQueue::TConfig TRootDataErasureManager::ConvertConfig(const NKikimrConfig::TDataErasureConfig& config) {

ydb/core/tx/schemeshard/schemeshard__tenant_data_erasure_manager.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ void TTenantDataErasureManager::ClearWaitingDataErasureRequests() {
112112
}
113113

114114
void TTenantDataErasureManager::Run(NIceDb::TNiceDb& db) {
115+
CounterDataErasureOk = 0;
116+
CounterDataErasureTimeout = 0;
115117
Status = EDataErasureStatus::IN_PROGRESS;
116118
for (const auto& [shardIdx, shardInfo] : SchemeShard->ShardInfos) {
117119
switch (shardInfo.TabletType) {
@@ -200,8 +202,8 @@ NOperationQueue::EStartStatus TTenantDataErasureManager::StartDataErasure(const
200202
}
201203

202204
void TTenantDataErasureManager::OnTimeout(const TShardIdx& shardIdx) {
205+
CounterDataErasureTimeout++;
203206
UpdateMetrics();
204-
SchemeShard->TabletCounters->Cumulative()[COUNTER_TENANT_DATA_ERASURE_TIMEOUT].Increment(1);
205207

206208
ActivePipes.erase(shardIdx);
207209

@@ -316,7 +318,7 @@ void TTenantDataErasureManager::OnDone(const TTabletId& tabletId, NIceDb::TNiceD
316318
}
317319
}
318320

319-
SchemeShard->TabletCounters->Cumulative()[COUNTER_TENANT_DATA_ERASURE_OK].Increment(1);
321+
CounterDataErasureOk++;
320322
UpdateMetrics();
321323

322324
if (WaitingDataErasureShards.empty()) {
@@ -446,6 +448,8 @@ void TTenantDataErasureManager::HandleNewPartitioning(const std::vector<TShardId
446448
void TTenantDataErasureManager::UpdateMetrics() {
447449
SchemeShard->TabletCounters->Simple()[COUNTER_TENANT_DATA_ERASURE_QUEUE_SIZE].Set(Queue->Size());
448450
SchemeShard->TabletCounters->Simple()[COUNTER_TENANT_DATA_ERASURE_QUEUE_RUNNING].Set(Queue->RunningSize());
451+
SchemeShard->TabletCounters->Simple()[COUNTER_TENANT_DATA_ERASURE_OK].Set(CounterDataErasureOk);
452+
SchemeShard->TabletCounters->Simple()[COUNTER_TENANT_DATA_ERASURE_TIMEOUT].Set(CounterDataErasureTimeout);
449453
}
450454

451455
void TTenantDataErasureManager::SendResponseToRootSchemeShard() {

0 commit comments

Comments
 (0)