Skip to content

Commit 6f336d0

Browse files
authored
Handle build stats messages in all datashard states (#26234) (#26256)
2 parents 7422ef2 + e01b300 commit 6f336d0

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
}
@@ -136,7 +136,7 @@ class TTableStatsCoroBuilder : public TActorCoroImpl, private IPages, TTableStat
136136
void RunImpl() {
137137
ObtainResources();
138138

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

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

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

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

423423
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
@@ -375,7 +375,7 @@ class TDataShard
375375

376376
struct TEvPeriodicWakeup : public TEventLocal<TEvPeriodicWakeup, EvPeriodicWakeup> {};
377377

378-
struct TEvAsyncTableStats : public TEventLocal<TEvAsyncTableStats, EvAsyncTableStats> {
378+
struct TEvBuildTableStatsResult : public TEventLocal<TEvBuildTableStatsResult, EvAsyncTableStats> {
379379
ui64 TableId = -1;
380380
TInstant StatsUpdateTime;
381381
NTable::TStats Stats;
@@ -387,22 +387,22 @@ class TDataShard
387387
bool HasSchemaChanges = false;
388388
};
389389

390-
struct TEvTableStatsError : public TEventLocal<TEvTableStatsError, EvTableStatsError> {
390+
struct TEvBuildTableStatsError : public TEventLocal<TEvBuildTableStatsError, EvTableStatsError> {
391391
enum class ECode {
392392
FETCH_PAGE_FAILED,
393393
RESOURCE_ALLOCATION_FAILED,
394394
ACTOR_DIED,
395395
UNKNOWN
396396
};
397397

398-
TEvTableStatsError(ui64 tableId, ECode code, const TString& msg)
398+
TEvBuildTableStatsError(ui64 tableId, ECode code, const TString& msg)
399399
: TableId(tableId)
400400
, Code(code)
401401
, Message(msg)
402402
{}
403403

404-
TEvTableStatsError(ui64 tableId, ECode code)
405-
: TEvTableStatsError(tableId, code, "")
404+
TEvBuildTableStatsError(ui64 tableId, ECode code)
405+
: TEvBuildTableStatsError(tableId, code, "")
406406
{}
407407

408408
const ui64 TableId;
@@ -1279,8 +1279,8 @@ class TDataShard
12791279
void Handle(TEvDataShard::TEvSplitTransferSnapshotAck::TPtr& ev, const TActorContext& ctx);
12801280
void Handle(TEvDataShard::TEvSplitPartitioningChanged::TPtr& ev, const TActorContext& ctx);
12811281
void Handle(TEvDataShard::TEvGetTableStats::TPtr& ev, const TActorContext& ctx);
1282-
void Handle(TEvPrivate::TEvAsyncTableStats::TPtr& ev, const TActorContext& ctx);
1283-
void Handle(TEvPrivate::TEvTableStatsError::TPtr& ev, const TActorContext& ctx);
1282+
void Handle(TEvPrivate::TEvBuildTableStatsResult::TPtr& ev, const TActorContext& ctx);
1283+
void Handle(TEvPrivate::TEvBuildTableStatsError::TPtr& ev, const TActorContext& ctx);
12841284
void Handle(TEvDataShard::TEvKqpScan::TPtr& ev, const TActorContext& ctx);
12851285
void HandleSafe(TEvDataShard::TEvKqpScan::TPtr& ev, const TActorContext& ctx);
12861286
void Handle(TEvDataShard::TEvUploadRowsRequest::TPtr& ev, const TActorContext& ctx);
@@ -3093,6 +3093,8 @@ class TDataShard
30933093
HFuncTraced(TEvPrivate::TEvMediatorRestoreBackup, Handle);
30943094
HFuncTraced(TEvPrivate::TEvRemoveLockChangeRecords, Handle);
30953095
HFuncTraced(TEvPrivate::TEvRemoveSchemaSnapshots, Handle);
3096+
HFunc(TEvPrivate::TEvBuildTableStatsResult, Handle);
3097+
HFunc(TEvPrivate::TEvBuildTableStatsError, Handle);
30963098
default:
30973099
if (!HandleDefaultEvents(ev, SelfId())) {
30983100
ALOG_WARN(NKikimrServices::TX_DATASHARD, "TDataShard::StateInactive unhandled event type: " << ev->GetTypeRewrite()
@@ -3157,8 +3159,8 @@ class TDataShard
31573159
HFunc(TEvDataShard::TEvSplitTransferSnapshotAck, Handle);
31583160
HFunc(TEvDataShard::TEvSplitPartitioningChanged, Handle);
31593161
HFunc(TEvDataShard::TEvGetTableStats, Handle);
3160-
HFunc(TEvPrivate::TEvAsyncTableStats, Handle);
3161-
HFunc(TEvPrivate::TEvTableStatsError, Handle);
3162+
HFunc(TEvPrivate::TEvBuildTableStatsResult, Handle);
3163+
HFunc(TEvPrivate::TEvBuildTableStatsError, Handle);
31623164
HFunc(TEvDataShard::TEvKqpScan, Handle);
31633165
HFunc(TEvDataShard::TEvUploadRowsRequest, Handle);
31643166
HFunc(TEvDataShard::TEvEraseRowsRequest, Handle);
@@ -3258,6 +3260,8 @@ class TDataShard
32583260
hFuncTraced(TEvDataShard::TEvReadScanStarted, Handle);
32593261
hFuncTraced(TEvDataShard::TEvReadScanFinished, Handle);
32603262
HFuncTraced(TEvPrivate::TEvPeriodicWakeup, DoPeriodicTasks);
3263+
HFunc(TEvPrivate::TEvBuildTableStatsResult, Handle);
3264+
HFunc(TEvPrivate::TEvBuildTableStatsError, Handle);
32613265
default:
32623266
if (!HandleDefaultEvents(ev, SelfId())) {
32633267
ALOG_WARN(NKikimrServices::TX_DATASHARD, "TDataShard::StateWorkAsFollower unhandled event type: " << ev->GetTypeRewrite()

0 commit comments

Comments
 (0)