Skip to content

Commit 3996124

Browse files
authored
Handle build stats messages in all datashard states (#26234) (#26260)
2 parents 1869602 + 3e55691 commit 3996124

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

ydb/core/tx/datashard/datashard__stats.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ struct TTableStatsCoroBuilderArgs {
3535

3636
class TTableStatsCoroBuilder : public TActorCoroImpl, private IPages, TTableStatsCoroBuilderArgs {
3737
private:
38-
using ECode = TDataShard::TEvPrivate::TEvTableStatsError::ECode;
38+
using ECode = TDataShard::TEvPrivate::TEvBuildTableStatsError::ECode;
3939

4040
static constexpr TDuration MaxCoroutineExecutionTime = TDuration::MilliSeconds(5);
4141

@@ -69,9 +69,9 @@ class TTableStatsCoroBuilder : public TActorCoroImpl, private IPages, TTableStat
6969
} catch (const TDtorException&) {
7070
return; // coroutine terminated
7171
} catch (const TExTableStatsError& ex) {
72-
Send(ReplyTo, new TDataShard::TEvPrivate::TEvTableStatsError(TableId, ex.Code, ex.Message));
72+
Send(ReplyTo, new TDataShard::TEvPrivate::TEvBuildTableStatsError(TableId, ex.Code, ex.Message));
7373
} catch (...) {
74-
Send(ReplyTo, new TDataShard::TEvPrivate::TEvTableStatsError(TableId, ECode::UNKNOWN));
74+
Send(ReplyTo, new TDataShard::TEvPrivate::TEvBuildTableStatsError(TableId, ECode::UNKNOWN));
7575

7676
Y_DEBUG_ABORT("unhandled exception");
7777
}
@@ -135,7 +135,7 @@ class TTableStatsCoroBuilder : public TActorCoroImpl, private IPages, TTableStat
135135
void RunImpl() {
136136
ObtainResources();
137137

138-
auto ev = MakeHolder<TDataShard::TEvPrivate::TEvAsyncTableStats>();
138+
auto ev = MakeHolder<TDataShard::TEvPrivate::TEvBuildTableStatsResult>();
139139
ev->TableId = TableId;
140140
ev->StatsUpdateTime = StatsUpdateTime;
141141
ev->PartCount = Subset->Flatten.size() + Subset->ColdParts.size();
@@ -365,7 +365,7 @@ void ListTableNames(const TTables& tables, TStringBuilder& names) {
365365
}
366366
}
367367

368-
void TDataShard::Handle(TEvPrivate::TEvAsyncTableStats::TPtr& ev, const TActorContext& ctx) {
368+
void TDataShard::Handle(TEvPrivate::TEvBuildTableStatsResult::TPtr& ev, const TActorContext& ctx) {
369369
Actors.erase(ev->Sender);
370370

371371
ui64 tableId = ev->Get()->TableId;
@@ -416,7 +416,7 @@ void TDataShard::Handle(TEvPrivate::TEvAsyncTableStats::TPtr& ev, const TActorCo
416416
}
417417
}
418418

419-
void TDataShard::Handle(TEvPrivate::TEvTableStatsError::TPtr& ev, const TActorContext& ctx) {
419+
void TDataShard::Handle(TEvPrivate::TEvBuildTableStatsError::TPtr& ev, const TActorContext& ctx) {
420420
Actors.erase(ev->Sender);
421421

422422
auto msg = ev->Get();

ydb/core/tx/datashard/datashard_impl.h

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ class TDataShard
379379

380380
struct TEvPeriodicWakeup : public TEventLocal<TEvPeriodicWakeup, EvPeriodicWakeup> {};
381381

382-
struct TEvAsyncTableStats : public TEventLocal<TEvAsyncTableStats, EvAsyncTableStats> {
382+
struct TEvBuildTableStatsResult : public TEventLocal<TEvBuildTableStatsResult, EvAsyncTableStats> {
383383
ui64 TableId = -1;
384384
TInstant StatsUpdateTime;
385385
NTable::TStats Stats;
@@ -391,22 +391,22 @@ class TDataShard
391391
bool HasSchemaChanges = false;
392392
};
393393

394-
struct TEvTableStatsError : public TEventLocal<TEvTableStatsError, EvTableStatsError> {
394+
struct TEvBuildTableStatsError : public TEventLocal<TEvBuildTableStatsError, EvTableStatsError> {
395395
enum class ECode {
396396
FETCH_PAGE_FAILED,
397397
RESOURCE_ALLOCATION_FAILED,
398398
ACTOR_DIED,
399399
UNKNOWN
400400
};
401401

402-
TEvTableStatsError(ui64 tableId, ECode code, const TString& msg)
402+
TEvBuildTableStatsError(ui64 tableId, ECode code, const TString& msg)
403403
: TableId(tableId)
404404
, Code(code)
405405
, Message(msg)
406406
{}
407407

408-
TEvTableStatsError(ui64 tableId, ECode code)
409-
: TEvTableStatsError(tableId, code, "")
408+
TEvBuildTableStatsError(ui64 tableId, ECode code)
409+
: TEvBuildTableStatsError(tableId, code, "")
410410
{}
411411

412412
const ui64 TableId;
@@ -1293,8 +1293,8 @@ class TDataShard
12931293
void Handle(TEvDataShard::TEvSplitTransferSnapshotAck::TPtr& ev, const TActorContext& ctx);
12941294
void Handle(TEvDataShard::TEvSplitPartitioningChanged::TPtr& ev, const TActorContext& ctx);
12951295
void Handle(TEvDataShard::TEvGetTableStats::TPtr& ev, const TActorContext& ctx);
1296-
void Handle(TEvPrivate::TEvAsyncTableStats::TPtr& ev, const TActorContext& ctx);
1297-
void Handle(TEvPrivate::TEvTableStatsError::TPtr& ev, const TActorContext& ctx);
1296+
void Handle(TEvPrivate::TEvBuildTableStatsResult::TPtr& ev, const TActorContext& ctx);
1297+
void Handle(TEvPrivate::TEvBuildTableStatsError::TPtr& ev, const TActorContext& ctx);
12981298
void Handle(TEvDataShard::TEvKqpScan::TPtr& ev, const TActorContext& ctx);
12991299
void HandleSafe(TEvDataShard::TEvKqpScan::TPtr& ev, const TActorContext& ctx);
13001300
void Handle(TEvDataShard::TEvUploadRowsRequest::TPtr& ev, const TActorContext& ctx);
@@ -3127,6 +3127,8 @@ class TDataShard
31273127
HFuncTraced(TEvPrivate::TEvMediatorRestoreBackup, Handle);
31283128
HFuncTraced(TEvPrivate::TEvRemoveLockChangeRecords, Handle);
31293129
HFuncTraced(TEvPrivate::TEvRemoveSchemaSnapshots, Handle);
3130+
HFunc(TEvPrivate::TEvBuildTableStatsResult, Handle);
3131+
HFunc(TEvPrivate::TEvBuildTableStatsError, Handle);
31303132
default:
31313133
if (!HandleDefaultEvents(ev, SelfId())) {
31323134
ALOG_WARN(NKikimrServices::TX_DATASHARD, "TDataShard::StateInactive unhandled event type: " << ev->GetTypeRewrite()
@@ -3191,8 +3193,8 @@ class TDataShard
31913193
HFunc(TEvDataShard::TEvSplitTransferSnapshotAck, Handle);
31923194
HFunc(TEvDataShard::TEvSplitPartitioningChanged, Handle);
31933195
HFunc(TEvDataShard::TEvGetTableStats, Handle);
3194-
HFunc(TEvPrivate::TEvAsyncTableStats, Handle);
3195-
HFunc(TEvPrivate::TEvTableStatsError, Handle);
3196+
HFunc(TEvPrivate::TEvBuildTableStatsResult, Handle);
3197+
HFunc(TEvPrivate::TEvBuildTableStatsError, Handle);
31963198
HFunc(TEvDataShard::TEvKqpScan, Handle);
31973199
HFunc(TEvDataShard::TEvUploadRowsRequest, Handle);
31983200
HFunc(TEvDataShard::TEvEraseRowsRequest, Handle);
@@ -3294,6 +3296,8 @@ class TDataShard
32943296
hFuncTraced(TEvDataShard::TEvReadScanStarted, Handle);
32953297
hFuncTraced(TEvDataShard::TEvReadScanFinished, Handle);
32963298
HFuncTraced(TEvPrivate::TEvPeriodicWakeup, DoPeriodicTasks);
3299+
HFunc(TEvPrivate::TEvBuildTableStatsResult, Handle);
3300+
HFunc(TEvPrivate::TEvBuildTableStatsError, Handle);
32973301
default:
32983302
if (!HandleDefaultEvents(ev, SelfId())) {
32993303
ALOG_WARN(NKikimrServices::TX_DATASHARD, "TDataShard::StateWorkAsFollower unhandled event type: " << ev->GetTypeRewrite()

0 commit comments

Comments
 (0)