summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornsofya <[email protected]>2024-01-12 09:49:22 +0300
committerGitHub <[email protected]>2024-01-12 09:49:22 +0300
commitc683f071075a99ff415845f813694831deb4c0af (patch)
tree3ea3f1582054de6c91a141e7989a769d23783db0
parentdb4e90915f31cde567461a77d468b4b4a6a0c15e (diff)
Run OnTieringModified only once on tablet initialization (#951)
-rw-r--r--ydb/core/tx/columnshard/columnshard.cpp3
-rw-r--r--ydb/core/tx/columnshard/columnshard_impl.cpp6
-rw-r--r--ydb/core/tx/columnshard/columnshard_impl.h2
3 files changed, 7 insertions, 4 deletions
diff --git a/ydb/core/tx/columnshard/columnshard.cpp b/ydb/core/tx/columnshard/columnshard.cpp
index 5a5c56105e2..ac3f521b8b7 100644
--- a/ydb/core/tx/columnshard/columnshard.cpp
+++ b/ydb/core/tx/columnshard/columnshard.cpp
@@ -36,8 +36,9 @@ void TColumnShard::SwitchToWork(const TActorContext& ctx) {
AFL_INFO(NKikimrServices::TX_COLUMNSHARD)("event", "initialize_shard")("step", "SwitchToWork");
for (auto&& i : TablesManager.GetTables()) {
- ActivateTiering(i.first, i.second.GetTieringUsage());
+ ActivateTiering(i.first, i.second.GetTieringUsage(), true);
}
+ OnTieringModified();
Become(&TThis::StateWork);
SignalTabletActive(ctx);
diff --git a/ydb/core/tx/columnshard/columnshard_impl.cpp b/ydb/core/tx/columnshard/columnshard_impl.cpp
index 658b7c67c4a..6869cbef8cc 100644
--- a/ydb/core/tx/columnshard/columnshard_impl.cpp
+++ b/ydb/core/tx/columnshard/columnshard_impl.cpp
@@ -947,7 +947,7 @@ void TColumnShard::Handle(NMetadata::NProvider::TEvRefreshSubscriberData::TPtr&
Tiers->TakeConfigs(ev->Get()->GetSnapshot(), nullptr);
}
-void TColumnShard::ActivateTiering(const ui64 pathId, const TString& useTiering) {
+void TColumnShard::ActivateTiering(const ui64 pathId, const TString& useTiering, const bool onTabletInit) {
Y_ABORT_UNLESS(!!Tiers);
if (!!Tiers) {
if (useTiering) {
@@ -956,7 +956,9 @@ void TColumnShard::ActivateTiering(const ui64 pathId, const TString& useTiering)
Tiers->DisablePathId(pathId);
}
}
- OnTieringModified();
+ if (!onTabletInit) {
+ OnTieringModified();
+ }
}
void TColumnShard::Enqueue(STFUNC_SIG) {
diff --git a/ydb/core/tx/columnshard/columnshard_impl.h b/ydb/core/tx/columnshard/columnshard_impl.h
index 65148356043..933112a594b 100644
--- a/ydb/core/tx/columnshard/columnshard_impl.h
+++ b/ydb/core/tx/columnshard/columnshard_impl.h
@@ -206,7 +206,7 @@ class TColumnShard
TabletCounters->Percentile()[counter].IncrementFor(latency.MicroSeconds());
}
- void ActivateTiering(const ui64 pathId, const TString& useTiering);
+ void ActivateTiering(const ui64 pathId, const TString& useTiering, const bool onTabletInit = false);
void OnTieringModified();
public:
enum class EOverloadStatus {