From 6786b7d53bd40b3817fef12e8fdf0d857c959b29 Mon Sep 17 00:00:00 2001 From: Ildar Khisambeev Date: Wed, 26 Jun 2024 08:02:17 +0000 Subject: [PATCH] add dummy statistics request and response --- ydb/core/protos/statistics.proto | 3 +++ ydb/core/tx/columnshard/columnshard.h | 18 ++++++++++++++++++ .../columnshard__statistics_scan.cpp | 18 ++++++++++++++++++ ydb/core/tx/columnshard/columnshard_impl.h | 4 ++++ ydb/core/tx/columnshard/ya.make | 1 + 5 files changed, 44 insertions(+) create mode 100644 ydb/core/tx/columnshard/columnshard__statistics_scan.cpp diff --git a/ydb/core/protos/statistics.proto b/ydb/core/protos/statistics.proto index b4a64034191d..a85ac1e924fa 100644 --- a/ydb/core/protos/statistics.proto +++ b/ydb/core/protos/statistics.proto @@ -94,7 +94,10 @@ message TEvGetScanStatusResponse { message TEvStatisticsScanRequest { optional NKikimrDataEvents.TTableId TableId = 1; optional bytes StartKey = 2; + // list of columns to gather statistics from. Empty means asking for every column. repeated uint32 ColumnTags = 3; + // list of statistics types requested. Empty means asking for all available. + repeated uint32 Types = 4; } message TEvStatisticsScanResponse { diff --git a/ydb/core/tx/columnshard/columnshard.h b/ydb/core/tx/columnshard/columnshard.h index 0d442d410037..7804d76844a5 100644 --- a/ydb/core/tx/columnshard/columnshard.h +++ b/ydb/core/tx/columnshard/columnshard.h @@ -4,6 +4,7 @@ #include #include +#include #include #include #include @@ -83,6 +84,9 @@ struct TEvColumnShard { EvApplyLinksModification, EvApplyLinksModificationFinished, + EvStatisticsScanRequest, + EvStatisticsScanResponse, + EvEnd }; @@ -253,6 +257,20 @@ struct TEvColumnShard { } }; + struct TEvStatisticsScanRequest + : public TEventPB + { + }; + + struct TEvStatisticsScanResponse + : public TEventPB + { + }; + using TEvScan = TEvDataShard::TEvKqpScan; }; diff --git a/ydb/core/tx/columnshard/columnshard__statistics_scan.cpp b/ydb/core/tx/columnshard/columnshard__statistics_scan.cpp new file mode 100644 index 000000000000..40818fa59fdb --- /dev/null +++ b/ydb/core/tx/columnshard/columnshard__statistics_scan.cpp @@ -0,0 +1,18 @@ +#include "columnshard.h" +#include "columnshard_impl.h" + +#include + +namespace NKikimr::NColumnShard { + +void TColumnShard::Handle(TEvColumnShard::TEvStatisticsScanRequest::TPtr& ev, const TActorContext& ctx) { + auto response = std::make_unique(); + auto& record = response->Record; + record.SetShardTabletId(TabletID()); + + record.SetStatus(NKikimrStat::TEvStatisticsScanResponse::SUCCESS); + + ctx.Send(new IEventHandle(ev->Sender, TActorId(), response.release(), 0, ev->Cookie)); +} + +} diff --git a/ydb/core/tx/columnshard/columnshard_impl.h b/ydb/core/tx/columnshard/columnshard_impl.h index c83271b5531c..84a0dc526cf0 100644 --- a/ydb/core/tx/columnshard/columnshard_impl.h +++ b/ydb/core/tx/columnshard/columnshard_impl.h @@ -220,6 +220,8 @@ class TColumnShard void Handle(TEvPrivate::TEvTieringModified::TPtr& ev, const TActorContext&); void Handle(TEvPrivate::TEvNormalizerResult::TPtr& ev, const TActorContext&); + void Handle(TEvColumnShard::TEvStatisticsScanRequest::TPtr& ev, const TActorContext& ctx); + void Handle(NActors::TEvents::TEvUndelivered::TPtr& ev, const TActorContext&); void Handle(NOlap::NBlobOperations::NEvents::TEvDeleteSharedBlobs::TPtr& ev, const TActorContext& ctx); @@ -373,6 +375,8 @@ class TColumnShard HFunc(TEvPrivate::TEvGarbageCollectionFinished, Handle); HFunc(TEvPrivate::TEvTieringModified, Handle); + HFunc(TEvColumnShard::TEvStatisticsScanRequest, Handle); + HFunc(NActors::TEvents::TEvUndelivered, Handle); HFunc(NOlap::NBlobOperations::NEvents::TEvDeleteSharedBlobs, Handle); diff --git a/ydb/core/tx/columnshard/ya.make b/ydb/core/tx/columnshard/ya.make index 2ecb9cadce8f..364f1ae3d512 100644 --- a/ydb/core/tx/columnshard/ya.make +++ b/ydb/core/tx/columnshard/ya.make @@ -11,6 +11,7 @@ SRCS( columnshard__propose_cancel.cpp columnshard__propose_transaction.cpp columnshard__scan.cpp + columnshard__statistics_scan.cpp columnshard__write.cpp columnshard__write_index.cpp columnshard.cpp