aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchertus <azuikov@ydb.tech>2023-06-29 15:34:21 +0300
committerchertus <azuikov@ydb.tech>2023-06-29 15:34:21 +0300
commitb08eaa934a6a9a456a1c96a5a0d69a92d3b54285 (patch)
tree40207390805d5ddd38dee84e1fce281d1b2c1281
parentc15ce0ec8eddec899b2df57c3b869bd6acce923a (diff)
downloadydb-b08eaa934a6a9a456a1c96a5a0d69a92d3b54285.tar.gz
better logging for tier managers
-rw-r--r--ydb/core/tx/tiering/manager.cpp24
-rw-r--r--ydb/core/tx/tiering/manager.h4
2 files changed, 26 insertions, 2 deletions
diff --git a/ydb/core/tx/tiering/manager.cpp b/ydb/core/tx/tiering/manager.cpp
index 17a9d9b1baf..f7ae056f276 100644
--- a/ydb/core/tx/tiering/manager.cpp
+++ b/ydb/core/tx/tiering/manager.cpp
@@ -27,6 +27,7 @@ public:
~TActor() {
Owner->Stop();
}
+
STATEFN(StateMain) {
switch (ev->GetTypeRewrite()) {
hFunc(NMetadata::NProvider::TEvRefreshSubscriberData, Handle);
@@ -35,27 +36,34 @@ public:
break;
}
}
+
void Bootstrap() {
Become(&TThis::StateMain);
Send(GetExternalDataActorId(), new NMetadata::NProvider::TEvSubscribeExternal(Owner->GetExternalDataManipulation()));
Send(GetExternalDataActorId(), new NMetadata::NProvider::TEvSubscribeExternal(SecretsFetcher));
}
+
void Handle(NMetadata::NProvider::TEvRefreshSubscriberData::TPtr& ev) {
auto snapshot = ev->Get()->GetSnapshot();
if (auto configs = std::dynamic_pointer_cast<NTiers::TConfigsSnapshot>(snapshot)) {
ConfigsSnapshot = configs;
if (SecretsSnapshot) {
Owner->TakeConfigs(ConfigsSnapshot, SecretsSnapshot);
+ } else {
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Waiting secrets for update at tablet " << Owner->TabletId;
}
} else if (auto secrets = std::dynamic_pointer_cast<NMetadata::NSecret::TSnapshot>(snapshot)) {
SecretsSnapshot = secrets;
if (ConfigsSnapshot) {
Owner->TakeConfigs(ConfigsSnapshot, SecretsSnapshot);
+ } else {
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Waiting configs for update at tablet " << Owner->TabletId;
}
} else {
Y_VERIFY(false, "unexpected behaviour");
}
}
+
void Handle(NActors::TEvents::TEvPoison::TPtr& /*ev*/) {
Send(GetExternalDataActorId(), new NMetadata::NProvider::TEvUnsubscribeExternal(Owner->GetExternalDataManipulation()));
Send(GetExternalDataActorId(), new NMetadata::NProvider::TEvUnsubscribeExternal(SecretsFetcher));
@@ -66,6 +74,7 @@ public:
namespace NTiers {
TManager& TManager::Restart(const TTierConfig& config, std::shared_ptr<NMetadata::NSecret::TSnapshot> secrets) {
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Restarting tier '" << GetTierName() << "' at tablet " << TabletId;
if (Config.IsSame(config)) {
return *this;
}
@@ -79,20 +88,24 @@ TManager& TManager::Restart(const TTierConfig& config, std::shared_ptr<NMetadata
bool TManager::Stop() {
if (!StorageActorId) {
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Tier '" << GetTierName() << "' hasn't been started at tablet " << TabletId;
return true;
}
if (TlsActivationContext) {
TActivationContext::AsActorContext().Send(StorageActorId, new TEvents::TEvPoisonPill());
}
StorageActorId = {};
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Tier '" << GetTierName() << "' stopped at tablet " << TabletId;
return true;
}
bool TManager::Start(std::shared_ptr<NMetadata::NSecret::TSnapshot> secrets) {
if (!Config.NeedExport()) {
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Tier '" << GetTierName() << "' has no exports at tablet " << TabletId;
return true;
}
if (!!StorageActorId) {
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Tier '" << GetTierName() << "' is already started at tablet " << TabletId;
return true;
}
#ifndef KIKIMR_DISABLE_S3_OPS
@@ -105,6 +118,7 @@ bool TManager::Start(std::shared_ptr<NMetadata::NSecret::TSnapshot> secrets) {
ctx.Send(newActor, new TEvPrivate::TEvS3Settings(s3Config));
StorageActorId = newActor;
#endif
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Tier '" << GetTierName() << "' started at tablet " << TabletId;
return true;
}
@@ -123,6 +137,9 @@ NArrow::TCompression ConvertCompression(const NKikimrSchemeOp::TCompressionOptio
}
void TTiersManager::TakeConfigs(NMetadata::NFetcher::ISnapshot::TPtr snapshotExt, std::shared_ptr<NMetadata::NSecret::TSnapshot> secrets) {
+ ALS_INFO(NKikimrServices::TX_TIERING) << "Take configs:"
+ << (snapshotExt ? " snapshots" : "") << (secrets ? " secrets" : "") << " at tablet " << TabletId;
+
auto snapshotPtr = std::dynamic_pointer_cast<NTiers::TConfigsSnapshot>(snapshotExt);
Y_VERIFY(snapshotPtr);
Snapshot = snapshotExt;
@@ -139,11 +156,14 @@ void TTiersManager::TakeConfigs(NMetadata::NFetcher::ISnapshot::TPtr snapshotExt
}
}
for (auto&& i : snapshot.GetTierConfigs()) {
- if (Managers.contains(i.second.GetTierName())) {
+ auto tierName = i.second.GetTierName();
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Take config for tier '" << tierName << "' at tablet " << TabletId;
+ if (Managers.contains(tierName)) {
+ ALS_DEBUG(NKikimrServices::TX_TIERING) << "Ignore tier '" << tierName << "' at tablet " << TabletId;
continue;
}
NTiers::TManager localManager(TabletId, TabletActorId, i.second);
- auto& manager = Managers.emplace(i.second.GetTierName(), std::move(localManager)).first->second;
+ auto& manager = Managers.emplace(tierName, std::move(localManager)).first->second;
manager.Start(Secrets);
}
diff --git a/ydb/core/tx/tiering/manager.h b/ydb/core/tx/tiering/manager.h
index 9a84cfe7af7..f38e95bfc15 100644
--- a/ydb/core/tx/tiering/manager.h
+++ b/ydb/core/tx/tiering/manager.h
@@ -31,6 +31,10 @@ public:
}
bool Stop();
bool Start(std::shared_ptr<NMetadata::NSecret::TSnapshot> secrets);
+
+ TString GetTierName() const {
+ return GetConfig().GetTierName();
+ }
};
}