diff options
author | ivanmorozov <ivanmorozov@yandex-team.com> | 2023-03-16 11:33:07 +0300 |
---|---|---|
committer | ivanmorozov <ivanmorozov@yandex-team.com> | 2023-03-16 11:33:07 +0300 |
commit | d1c25d0356fc7efced0d8da5091bff22b862aa50 (patch) | |
tree | dc5e2800d7082d83263fda80ab5704adb0f64413 | |
parent | 63927bd612185b9585757c86d0dbd54f38bf1b1d (diff) | |
download | ydb-d1c25d0356fc7efced0d8da5091bff22b862aa50.tar.gz |
remove useless functional
-rw-r--r-- | ydb/services/ext_index/service/executor.cpp | 55 | ||||
-rw-r--r-- | ydb/services/ext_index/service/executor.h | 11 |
2 files changed, 12 insertions, 54 deletions
diff --git a/ydb/services/ext_index/service/executor.cpp b/ydb/services/ext_index/service/executor.cpp index 8491b52c80..4ec1cf9c30 100644 --- a/ydb/services/ext_index/service/executor.cpp +++ b/ydb/services/ext_index/service/executor.cpp @@ -1,8 +1,6 @@ #include "executor.h" #include <ydb/services/ext_index/metadata/fetcher.h> -#include <ydb/services/metadata/initializer/fetcher.h> -#include <ydb/services/metadata/initializer/manager.h> #include <ydb/services/metadata/service.h> #include <ydb/services/ext_index/common/service.h> #include "add_data.h" @@ -12,24 +10,21 @@ namespace NKikimr::NCSIndex { void TExecutor::Handle(TEvAddData::TPtr& ev) { - if (CheckActivity()) { + if (IndexesSnapshot) { std::vector<NMetadata::NCSIndex::TObject> indexes = IndexesSnapshot->GetIndexes(ev->Get()->GetTablePath()); - std::shared_ptr<TDataUpserter> upserter = std::make_shared<TDataUpserter>(std::move(indexes), ev->Get()->GetExternalController(), ev->Get()->GetData()); - upserter->Start(upserter); + if (indexes.empty()) { + ev->Get()->GetExternalController()->OnAllIndexesUpserted(); + } else { + std::shared_ptr<TDataUpserter> upserter = std::make_shared<TDataUpserter>(std::move(indexes), ev->Get()->GetExternalController(), ev->Get()->GetData()); + upserter->Start(upserter); + } } else { - if (!DeferredEventsOnIntialization.Add(*ev)) { - Send(ev->Sender, new TEvAddDataResult("too big queue for index construction")); + if (!DeferredEventsOnAddData.Add(*ev)) { + ev->Get()->GetExternalController()->OnAllIndexesUpsertionFailed("too big queue for index construction"); } } } -void TExecutor::Handle(NMetadata::NProvider::TEvManagerPrepared::TPtr& /*ev*/) { - ActivityState = EActivity::Active; - if (IndexesSnapshot) { - DeferredEventsOnIntialization.ResendAll(SelfId()); - } -} - class TIndexesController: public IActivationExternalController, public IDeletingExternalController { public: virtual void OnActivationFailed(const TString& errorMessage, const TString& requestId) override { @@ -49,21 +44,10 @@ public: void TExecutor::Handle(NMetadata::NProvider::TEvRefreshSubscriberData::TPtr& ev) { { - auto snapshot = ev->Get()->GetSnapshotPtrAs<NMetadata::NInitializer::TSnapshot>(); - if (snapshot) { - if (snapshot->HasComponent("ext_index")) { - CheckActivity(); - } - return; - } - } - { auto snapshot = ev->Get()->GetSnapshotPtrAs<NMetadata::NCSIndex::TSnapshot>(); if (snapshot) { IndexesSnapshot = snapshot; - if (CheckActivity()) { - DeferredEventsOnIntialization.ResendAll(SelfId()); - } + DeferredEventsOnAddData.ResendAll(SelfId()); std::vector<NMetadata::NCSIndex::TObject> inactiveIndexes; std::vector<NMetadata::NCSIndex::TObject> deletingIndexes; IndexesSnapshot->GetObjectsForActivity(inactiveIndexes, deletingIndexes); @@ -84,31 +68,12 @@ void TExecutor::Handle(NMetadata::NProvider::TEvRefreshSubscriberData::TPtr& ev) void TExecutor::Bootstrap() { Become(&TExecutor::StateMain); - auto managerInitializer = std::make_shared<NMetadata::NInitializer::TFetcher>(); Y_VERIFY(NMetadata::NProvider::TServiceOperator::IsEnabled(), "metadata service not active"); - Sender<NMetadata::NProvider::TEvSubscribeExternal>(managerInitializer).SendTo(NMetadata::NProvider::MakeServiceId(SelfId().NodeId())); auto managerIndexes = std::make_shared<NMetadata::NCSIndex::TFetcher>(); Sender<NMetadata::NProvider::TEvSubscribeExternal>(managerIndexes).SendTo(NMetadata::NProvider::MakeServiceId(SelfId().NodeId())); } -bool TExecutor::CheckActivity() { - switch (ActivityState) { - case EActivity::Created: - ActivityState = EActivity::Preparation; - Sender<NMetadata::NProvider::TEvPrepareManager>(NMetadata::NCSIndex::TObject::GetBehaviour()).SendTo(NMetadata::NProvider::MakeServiceId(SelfId().NodeId())); - break; - case EActivity::Preparation: - break; - case EActivity::Active: - if (!IndexesSnapshot) { - return false; - } - return true; - } - return false; -} - NActors::IActor* CreateService(const TConfig& config) { return new TExecutor(config); } diff --git a/ydb/services/ext_index/service/executor.h b/ydb/services/ext_index/service/executor.h index bd93c53fc2..9084da4f8a 100644 --- a/ydb/services/ext_index/service/executor.h +++ b/ydb/services/ext_index/service/executor.h @@ -16,7 +16,7 @@ private: const TString ExecutorId = TGUID::CreateTimebased().AsUuidString(); const TConfig Config; std::set<TString> CurrentTaskIds; - NMetadata::NProvider::TEventsWaiter DeferredEventsOnIntialization; + NMetadata::NProvider::TEventsWaiter DeferredEventsOnAddData; std::shared_ptr<NMetadata::NCSIndex::TSnapshot> IndexesSnapshot; enum class EActivity { @@ -25,22 +25,15 @@ private: Active }; - EActivity ActivityState = EActivity::Created; - - bool CheckActivity(); - + protected: - void Handle(NMetadata::NProvider::TEvManagerPrepared::TPtr& ev); void Handle(TEvAddData::TPtr& ev); void Handle(NMetadata::NProvider::TEvRefreshSubscriberData::TPtr& ev); STATEFN(StateMain) { switch (ev->GetTypeRewrite()) { - hFunc(NMetadata::NProvider::TEvManagerPrepared, Handle); hFunc(TEvAddData, Handle); hFunc(NMetadata::NProvider::TEvRefreshSubscriberData, Handle); - default: - break; } } |