aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivanmorozov <ivanmorozov@yandex-team.com>2023-03-16 11:33:07 +0300
committerivanmorozov <ivanmorozov@yandex-team.com>2023-03-16 11:33:07 +0300
commitd1c25d0356fc7efced0d8da5091bff22b862aa50 (patch)
treedc5e2800d7082d83263fda80ab5704adb0f64413
parent63927bd612185b9585757c86d0dbd54f38bf1b1d (diff)
downloadydb-d1c25d0356fc7efced0d8da5091bff22b862aa50.tar.gz
remove useless functional
-rw-r--r--ydb/services/ext_index/service/executor.cpp55
-rw-r--r--ydb/services/ext_index/service/executor.h11
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;
}
}