Skip to content

Commit a7df499

Browse files
authored
Merge 1084541 into af01dce
2 parents af01dce + 1084541 commit a7df499

36 files changed

+298
-120
lines changed

ydb/core/driver_lib/run/kikimr_services_initializers.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@
145145
#include <ydb/core/tx/columnshard/blob_cache.h>
146146
#include <ydb/core/tx/datashard/datashard.h>
147147
#include <ydb/core/tx/columnshard/columnshard.h>
148+
#include <ydb/core/tx/columnshard/data_accessor/node_actor.h>
148149
#include <ydb/core/tx/mediator/mediator.h>
149150
#include <ydb/core/tx/replication/controller/controller.h>
150151
#include <ydb/core/tx/replication/service/service.h>
@@ -1114,6 +1115,19 @@ void TSharedCacheInitializer::InitializeServices(
11141115
TActorSetupCmd(actor, TMailboxType::ReadAsFilled, appData->UserPoolId));
11151116
}
11161117

1118+
// TSharedMetadaCacheInitializer
1119+
TSharedMetadaCacheInitializer::TSharedMetadaCacheInitializer(const TKikimrRunConfig& runConfig)
1120+
: IKikimrServicesInitializer(runConfig)
1121+
{}
1122+
1123+
void TSharedMetadaCacheInitializer::InitializeServices( NActors::TActorSystemSetup *setup, const NKikimr::TAppData *appData) {
1124+
if (appData->FeatureFlags.GetEnableSharedMetadataCache()) {
1125+
auto* actor = NKikimr::NOlap::NDataAccessorControl::TNodeActor::CreateActor();
1126+
setup->LocalServices.emplace_back(NKikimr::NOlap::NDataAccessorControl::TNodeActor::MakeActorId(NodeId),
1127+
TActorSetupCmd(actor, TMailboxType::HTSwap, appData->UserPoolId));
1128+
}
1129+
}
1130+
11171131
// TBlobCacheInitializer
11181132

11191133
TBlobCacheInitializer::TBlobCacheInitializer(const TKikimrRunConfig& runConfig)

ydb/core/driver_lib/run/kikimr_services_initializers.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,13 @@ class TSharedCacheInitializer : public IKikimrServicesInitializer {
9595
void InitializeServices(NActors::TActorSystemSetup *setup, const NKikimr::TAppData *appData) override;
9696
};
9797

98+
class TSharedMetadaCacheInitializer : public IKikimrServicesInitializer {
99+
public:
100+
TSharedMetadaCacheInitializer(const TKikimrRunConfig& runConfig);
101+
102+
void InitializeServices(NActors::TActorSystemSetup *setup, const NKikimr::TAppData *appData) override;
103+
};
104+
98105
class TBlobCacheInitializer : public IKikimrServicesInitializer {
99106
public:
100107
TBlobCacheInitializer(const TKikimrRunConfig& runConfig);

ydb/core/driver_lib/run/run.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1564,7 +1564,7 @@ TIntrusivePtr<TServiceInitializersList> TKikimrRunner::CreateServiceInitializers
15641564
}
15651565
if (serviceMask.EnableBlobCache) {
15661566
sil->AddServiceInitializer(new TBlobCacheInitializer(runConfig));
1567-
}
1567+
}
15681568
if (serviceMask.EnableLogger) {
15691569
sil->AddServiceInitializer(new TLoggerInitializer(runConfig, LogSettings, LogBackend));
15701570
}
@@ -1663,6 +1663,8 @@ TIntrusivePtr<TServiceInitializersList> TKikimrRunner::CreateServiceInitializers
16631663

16641664
sil->AddServiceInitializer(new TMemProfMonitorInitializer(runConfig, ProcessMemoryInfoProvider));
16651665

1666+
sil->AddServiceInitializer(new TSharedMetadaCacheInitializer(runConfig));
1667+
16661668
#if defined(ENABLE_MEMORY_TRACKING)
16671669
if (serviceMask.EnableMemoryTracker) {
16681670
sil->AddServiceInitializer(new TMemoryTrackerInitializer(runConfig));

ydb/core/protos/feature_flags.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,4 +206,5 @@ message TFeatureFlags {
206206
optional bool SwitchToConfigV1 = 180 [default = false];
207207
optional bool EnableEncryptedExport = 181 [default = false];
208208
optional bool EnableAlterDatabase = 182 [default = false];
209+
optional bool EnableSharedMetadataCache = 183 [default = true];
209210
}

ydb/core/testlib/basics/feature_flags.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ class TTestFeatureFlagsHolder {
7777
FEATURE_FLAG_SETTER(EnableDatabaseAdmin)
7878
FEATURE_FLAG_SETTER(EnablePermissionsExport)
7979
FEATURE_FLAG_SETTER(EnableShowCreate)
80+
FEATURE_FLAG_SETTER(EnableSharedMetadataCache)
8081

8182
#undef FEATURE_FLAG_SETTER
8283
};

ydb/core/testlib/test_client.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
#include <ydb/library/services/services.pb.h>
7979
#include <ydb/core/tablet_flat/tablet_flat_executed.h>
8080
#include <ydb/core/tx/columnshard/columnshard.h>
81+
#include <ydb/core/tx/columnshard/data_accessor/node_actor.h>
8182
#include <ydb/core/tx/coordinator/coordinator.h>
8283
#include <ydb/core/tx/datashard/datashard.h>
8384
#include <ydb/core/tx/long_tx_service/public/events.h>
@@ -1180,6 +1181,16 @@ namespace Tests {
11801181
const auto aid = Runtime->Register(actor, nodeIdx, appData.UserPoolId, TMailboxType::Revolving, 0);
11811182
Runtime->RegisterService(NConveyor::TInsertServiceOperator::MakeServiceId(Runtime->GetNodeId(nodeIdx)), aid, nodeIdx);
11821183
}
1184+
{
1185+
if (Settings->FeatureFlags.GetEnableSharedMetadataCache()) {
1186+
auto* actor = NKikimr::NOlap::NDataAccessorControl::TNodeActor::CreateActor();
1187+
1188+
const auto aid = Runtime->Register(actor, nodeIdx, appData.UserPoolId, TMailboxType::HTSwap, 0);
1189+
const auto serviceId = NKikimr::NOlap::NDataAccessorControl::TNodeActor::MakeActorId(Runtime->GetNodeId(nodeIdx));
1190+
Runtime->RegisterService(serviceId, aid, nodeIdx);
1191+
}
1192+
}
1193+
11831194
Runtime->Register(CreateLabelsMaintainer({}), nodeIdx, appData.SystemPoolId, TMailboxType::Revolving, 0);
11841195

11851196
auto sysViewService = NSysView::CreateSysViewServiceForTests();

ydb/core/tx/columnshard/columnshard.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "blobs_reader/actor.h"
55
#include "counters/aggregation/table_stats.h"
66
#include "data_accessor/actor.h"
7+
#include "data_accessor/node_actor.h"
78
#include "data_accessor/manager.h"
89
#include "engines/column_engine_logs.h"
910
#include "engines/writer/buffer/actor.h"
@@ -124,7 +125,13 @@ void TColumnShard::OnActivateExecutor(const TActorContext& ctx) {
124125
ResourceSubscribeActor = ctx.Register(new NOlap::NResourceBroker::NSubscribe::TActor(TabletID(), SelfId()));
125126
BufferizationInsertionWriteActorId = ctx.Register(new NColumnShard::NWriting::TActor(TabletID(), SelfId()));
126127
BufferizationPortionsWriteActorId = ctx.Register(new NOlap::NWritingPortions::TActor(TabletID(), SelfId()));
127-
DataAccessorsControlActorId = ctx.Register(new NOlap::NDataAccessorControl::TActor(TabletID(), SelfId()));
128+
// Change actor here
129+
if (AppData(ctx)->FeatureFlags.GetEnableSharedMetadataCache()){
130+
DataAccessorsControlActorId = NOlap::NDataAccessorControl::TNodeActor::MakeActorId(ctx.SelfID.NodeId());
131+
} else {
132+
DataAccessorsControlActorId = ctx.Register(new NOlap::NDataAccessorControl::TActor(TabletID(), SelfId()));
133+
}
134+
128135
DataAccessorsManager = std::make_shared<NOlap::NDataAccessorControl::TActorAccessorsManager>(DataAccessorsControlActorId, SelfId()),
129136

130137
PrioritizationClientId = NPrioritiesQueue::TCompServiceOperator::RegisterClient();

ydb/core/tx/columnshard/columnshard__statistics.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,18 +113,22 @@ class TColumnPortionsAccumulator {
113113
std::shared_ptr<NOlap::NDataAccessorControl::IDataAccessorsManager> DataAccessors;
114114
std::shared_ptr<TResultAccumulator> Result;
115115
const std::shared_ptr<NOlap::TVersionedIndex> VersionedIndex;
116+
const NOlap::TTabletId TabletId;
116117

117118
public:
118119
TColumnPortionsAccumulator(const std::shared_ptr<NOlap::IStoragesManager>& storagesManager,
119120
const std::shared_ptr<TResultAccumulator>& result, const ui32 portionsCountLimit, const std::set<ui32>& originalColumnTags,
120121
const std::shared_ptr<NOlap::TVersionedIndex>& vIndex,
121-
const std::shared_ptr<NOlap::NDataAccessorControl::IDataAccessorsManager>& dataAccessorsManager)
122+
const std::shared_ptr<NOlap::NDataAccessorControl::IDataAccessorsManager>& dataAccessorsManager,
123+
const NOlap::TTabletId tabletId)
122124
: StoragesManager(storagesManager)
123125
, ColumnTagsRequested(originalColumnTags)
124126
, PortionsCountLimit(portionsCountLimit)
125127
, DataAccessors(dataAccessorsManager)
126128
, Result(result)
127-
, VersionedIndex(vIndex) {
129+
, VersionedIndex(vIndex)
130+
, TabletId(tabletId)
131+
{
128132
}
129133

130134
class TIndexReadTask: public NOlap::NBlobOperations::NRead::ITask {
@@ -259,7 +263,7 @@ class TColumnPortionsAccumulator {
259263
}
260264
request->RegisterSubscriber(std::make_shared<TMetadataSubscriber>(StoragesManager, Result, VersionedIndex, ColumnTagsRequested));
261265
Portions.clear();
262-
DataAccessors->AskData(request);
266+
DataAccessors->AskData(TabletId, request);
263267
}
264268

265269
void AddTask(const NOlap::TPortionInfo::TConstPtr& portion) {
@@ -306,7 +310,7 @@ void TColumnShard::Handle(NStat::TEvStatistics::TEvStatisticsRequest::TPtr& ev,
306310
std::make_shared<TResultAccumulator>(columnTagsRequested, ev->Sender, ev->Cookie, std::move(response));
307311
auto versionedIndex = std::make_shared<NOlap::TVersionedIndex>(index.GetVersionedIndex());
308312
TColumnPortionsAccumulator portionsPack(
309-
StoragesManager, resultAccumulator, 1000, columnTagsRequested, versionedIndex, DataAccessorsManager.GetObjectPtrVerified());
313+
StoragesManager, resultAccumulator, 1000, columnTagsRequested, versionedIndex, DataAccessorsManager.GetObjectPtrVerified(), (NOlap::TTabletId)TabletID());
310314

311315
for (const auto& [_, portionInfo] : spg->GetPortions()) {
312316
if (!portionInfo->IsVisible(GetMaxReadVersion())) {

ydb/core/tx/columnshard/columnshard_impl.cpp

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -852,21 +852,24 @@ class TAccessorsMemorySubscriber: public NOlap::NResourceBroker::NSubscribe::ITa
852852
std::shared_ptr<NOlap::TDataAccessorsRequest> Request;
853853
std::shared_ptr<TDataAccessorsSubscriberBase> Subscriber;
854854
std::shared_ptr<NOlap::NDataAccessorControl::IDataAccessorsManager> DataAccessorsManager;
855+
const NOlap::TTabletId TabletId;
855856

856857
virtual void DoOnAllocationSuccess(const std::shared_ptr<NOlap::NResourceBroker::NSubscribe::TResourcesGuard>& guard) override {
857858
Subscriber->SetResourcesGuard(guard);
858859
Request->RegisterSubscriber(Subscriber);
859-
DataAccessorsManager->AskData(Request);
860+
DataAccessorsManager->AskData(TabletId, Request);
860861
}
861862

862863
public:
863864
TAccessorsMemorySubscriber(const ui64 memory, const TString& externalTaskId, const NOlap::NResourceBroker::NSubscribe::TTaskContext& context,
864865
std::shared_ptr<NOlap::TDataAccessorsRequest>&& request, const std::shared_ptr<TDataAccessorsSubscriberBase>& subscriber,
865-
const std::shared_ptr<NOlap::NDataAccessorControl::IDataAccessorsManager>& dataAccessorsManager)
866+
const std::shared_ptr<NOlap::NDataAccessorControl::IDataAccessorsManager>& dataAccessorsManager,
867+
NOlap::TTabletId tabletId)
866868
: TBase(0, memory, externalTaskId, context)
867869
, Request(std::move(request))
868870
, Subscriber(subscriber)
869-
, DataAccessorsManager(dataAccessorsManager) {
871+
, DataAccessorsManager(dataAccessorsManager)
872+
, TabletId(tabletId){
870873
}
871874
};
872875

@@ -912,7 +915,7 @@ void TColumnShard::StartCompaction(const std::shared_ptr<NPrioritiesQueue::TAllo
912915
CompactTaskSubscription);
913916
NOlap::NResourceBroker::NSubscribe::ITask::StartResourceSubscription(
914917
ResourceSubscribeActor, std::make_shared<TAccessorsMemorySubscriber>(accessorsMemory, indexChanges->GetTaskIdentifier(),
915-
CompactTaskSubscription, std::move(request), subscriber, DataAccessorsManager.GetObjectPtrVerified()));
918+
CompactTaskSubscription, std::move(request), subscriber, DataAccessorsManager.GetObjectPtrVerified(), (NOlap::TTabletId)TabletID()));
916919
}
917920

918921
class TWriteEvictPortionsDataAccessorsSubscriber: public TDataAccessorsSubscriberWithRead {
@@ -981,7 +984,7 @@ void TColumnShard::SetupMetadata() {
981984
NOlap::NResourceBroker::NSubscribe::ITask::StartResourceSubscription(ResourceSubscribeActor,
982985
std::make_shared<TAccessorsMemorySubscriber>(accessorsMemory, i.GetRequest()->GetTaskId(), TTLTaskSubscription,
983986
std::shared_ptr<NOlap::TDataAccessorsRequest>(i.GetRequest()),
984-
std::make_shared<TCSMetadataSubscriber>(SelfId(), i.GetProcessor(), Generation()), DataAccessorsManager.GetObjectPtrVerified()));
987+
std::make_shared<TCSMetadataSubscriber>(SelfId(), i.GetProcessor(), Generation()), DataAccessorsManager.GetObjectPtrVerified(), (NOlap::TTabletId)TabletID()));
985988
}
986989
}
987990

@@ -1020,7 +1023,7 @@ bool TColumnShard::SetupTtl() {
10201023
request->PredictAccessorsMemory(TablesManager.GetPrimaryIndex()->GetVersionedIndex().GetLastSchema()) + memoryUsage;
10211024
NOlap::NResourceBroker::NSubscribe::ITask::StartResourceSubscription(
10221025
ResourceSubscribeActor, std::make_shared<TAccessorsMemorySubscriber>(accessorsMemory, i->GetTaskIdentifier(), TTLTaskSubscription,
1023-
std::move(request), subscriber, DataAccessorsManager.GetObjectPtrVerified()));
1026+
std::move(request), subscriber, DataAccessorsManager.GetObjectPtrVerified(), (NOlap::TTabletId)TabletID()));
10241027
}
10251028
return true;
10261029
}
@@ -1069,7 +1072,7 @@ void TColumnShard::SetupCleanupPortions() {
10691072

10701073
NOlap::NResourceBroker::NSubscribe::ITask::StartResourceSubscription(
10711074
ResourceSubscribeActor, std::make_shared<TAccessorsMemorySubscriber>(accessorsMemory, changes->GetTaskIdentifier(), TTLTaskSubscription,
1072-
std::move(request), subscriber, DataAccessorsManager.GetObjectPtrVerified()));
1075+
std::move(request), subscriber, DataAccessorsManager.GetObjectPtrVerified(), (NOlap::TTabletId)TabletID()));
10731076
}
10741077

10751078
void TColumnShard::SetupCleanupTables() {
@@ -1392,14 +1395,15 @@ class TAccessorsParsingTask: public NConveyor::ITask {
13921395
private:
13931396
std::shared_ptr<NOlap::NDataAccessorControl::IAccessorCallback> FetchCallback;
13941397
std::vector<TPortionConstructorV2> Portions;
1398+
const NOlap::TTabletId TabletId;
13951399

13961400
virtual void DoExecute(const std::shared_ptr<ITask>& /*taskPtr*/) override {
13971401
std::vector<NOlap::TPortionDataAccessor> accessors;
13981402
accessors.reserve(Portions.size());
13991403
for (auto&& i : Portions) {
14001404
accessors.emplace_back(i.BuildAccessor());
14011405
}
1402-
FetchCallback->OnAccessorsFetched(std::move(accessors));
1406+
FetchCallback->OnAccessorsFetched(TabletId, std::move(accessors));
14031407
}
14041408
virtual void DoOnCannotExecute(const TString& reason) override {
14051409
AFL_VERIFY(false)("cannot parse metadata", reason);
@@ -1411,9 +1415,10 @@ class TAccessorsParsingTask: public NConveyor::ITask {
14111415
}
14121416

14131417
TAccessorsParsingTask(
1414-
const std::shared_ptr<NOlap::NDataAccessorControl::IAccessorCallback>& callback, std::vector<TPortionConstructorV2>&& portions)
1418+
const std::shared_ptr<NOlap::NDataAccessorControl::IAccessorCallback>& callback, std::vector<TPortionConstructorV2>&& portions, const NOlap::TTabletId tabletId)
14151419
: FetchCallback(callback)
14161420
, Portions(std::move(portions))
1421+
, TabletId(tabletId)
14171422
{
14181423

14191424
}
@@ -1499,7 +1504,7 @@ class TTxAskPortionChunks: public TTransactionBase<TColumnShard> {
14991504
}
15001505

15011506
AFL_INFO(NKikimrServices::TX_COLUMNSHARD)("stage", "finished");
1502-
NConveyor::TInsertServiceOperator::AsyncTaskToExecute(std::make_shared<TAccessorsParsingTask>(FetchCallback, std::move(FetchedAccessors)));
1507+
NConveyor::TInsertServiceOperator::AsyncTaskToExecute(std::make_shared<TAccessorsParsingTask>(FetchCallback, std::move(FetchedAccessors), (NOlap::TTabletId)txc.Tablet));
15031508
return true;
15041509
}
15051510
void Complete(const TActorContext& /*ctx*/) override {

ydb/core/tx/columnshard/data_accessor/abstract/collector.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ TDataCategorized IGranuleDataAccessor::AnalyzeData(
1616
return DoAnalyzeData(portions, consumer);
1717
}
1818

19-
void TActorAccessorsCallback::OnAccessorsFetched(std::vector<TPortionDataAccessor>&& accessors) {
20-
NActors::TActivationContext::Send(ActorId, std::make_unique<TEvAddPortion>(std::move(accessors)));
19+
void TActorAccessorsCallback::OnAccessorsFetched(TTabletId tabletId, std::vector<TPortionDataAccessor>&& accessors) {
20+
NActors::TActivationContext::Send(ActorId, std::make_unique<TEvAddPortion>(tabletId, std::move(accessors)));
2121
}
2222

2323
} // namespace NKikimr::NOlap::NDataAccessorControl

ydb/core/tx/columnshard/data_accessor/abstract/collector.h

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace NKikimr::NOlap::NDataAccessorControl {
66
class IAccessorCallback {
77
public:
8-
virtual void OnAccessorsFetched(std::vector<TPortionDataAccessor>&& accessors) = 0;
8+
virtual void OnAccessorsFetched(TTabletId TabletId, std::vector<TPortionDataAccessor>&& accessors) = 0;
99
virtual ~IAccessorCallback() = default;
1010
};
1111

@@ -14,7 +14,7 @@ class TActorAccessorsCallback: public IAccessorCallback {
1414
const NActors::TActorId ActorId;
1515

1616
public:
17-
virtual void OnAccessorsFetched(std::vector<TPortionDataAccessor>&& accessors) override;
17+
virtual void OnAccessorsFetched(TTabletId tabletId, std::vector<TPortionDataAccessor>&& accessors) override;
1818
TActorAccessorsCallback(const NActors::TActorId& actorId)
1919
: ActorId(actorId) {
2020
}
@@ -37,6 +37,7 @@ class TDataCategorized {
3737
class IGranuleDataAccessor {
3838
private:
3939
const TInternalPathId PathId;
40+
const TTabletId TabletId;
4041

4142
virtual void DoAskData(
4243
const std::vector<TPortionInfo::TConstPtr>& portions, const std::shared_ptr<IAccessorCallback>& callback, const TString& consumer) = 0;
@@ -49,9 +50,13 @@ class IGranuleDataAccessor {
4950
TInternalPathId GetPathId() const {
5051
return PathId;
5152
}
53+
TTabletId GetTabletId() const {
54+
return TabletId;
55+
}
5256

53-
IGranuleDataAccessor(const TInternalPathId pathId)
54-
: PathId(pathId) {
57+
IGranuleDataAccessor(const TTabletId tabletId, const TInternalPathId pathId)
58+
: PathId(pathId)
59+
, TabletId(tabletId) {
5560
}
5661

5762
void AskData(

ydb/core/tx/columnshard/data_accessor/abstract/manager.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class TGranuleMeta;
1212
namespace NKikimr::NOlap::NDataAccessorControl {
1313
class IMetadataMemoryManager {
1414
private:
15-
virtual std::unique_ptr<IGranuleDataAccessor> DoBuildCollector(const TInternalPathId pathId) = 0;
15+
virtual std::unique_ptr<IGranuleDataAccessor> DoBuildCollector(const TTabletId tabletId, const TInternalPathId pathId) = 0;
1616
virtual std::shared_ptr<ITxReader> DoBuildLoader(
1717
const TVersionedIndex& versionedIndex, TGranuleMeta* granule, const std::shared_ptr<IBlobGroupSelector>& dsGroupSelector) = 0;
1818

@@ -22,8 +22,8 @@ class IMetadataMemoryManager {
2222
return false;
2323
}
2424

25-
std::unique_ptr<IGranuleDataAccessor> BuildCollector(const TInternalPathId pathId) {
26-
return DoBuildCollector(pathId);
25+
std::unique_ptr<IGranuleDataAccessor> BuildCollector(const TTabletId tabletId, const TInternalPathId pathId) {
26+
return DoBuildCollector(tabletId, pathId);
2727
}
2828

2929
std::shared_ptr<ITxReader> BuildLoader(

ydb/core/tx/columnshard/data_accessor/actor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace NKikimr::NOlap::NDataAccessorControl {
44

55
void TActor::Handle(TEvAskServiceDataAccessors::TPtr& ev) {
6-
Manager->AskData(ev->Get()->GetRequest());
6+
Manager->AskData(ev->Get()->GetTabletId(), ev->Get()->GetRequest());
77
}
88

99
void TActor::Bootstrap() {

ydb/core/tx/columnshard/data_accessor/actor.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,18 @@ class TActor: public TActorBootstrapped<TActor> {
2222
}
2323

2424
void Handle(TEvRegisterController::TPtr& ev) {
25-
Manager->RegisterController(ev->Get()->ExtractController(), ev->Get()->IsUpdate());
25+
Manager->RegisterController(ev->Get()->ExtractController(), ev->Get()->GetTabletId(), ev->Get()->IsUpdate());
2626
}
2727
void Handle(TEvUnregisterController::TPtr& ev) {
28-
Manager->UnregisterController(ev->Get()->GetPathId());
28+
Manager->UnregisterController(ev->Get()->GetTabletId(), ev->Get()->GetPathId());
2929
}
3030
void Handle(TEvAddPortion::TPtr& ev) {
3131
for (auto&& a : ev->Get()->ExtractAccessors()) {
32-
Manager->AddPortion(std::move(a));
32+
Manager->AddPortion(ev->Get()->GetTabletId(), std::move(a));
3333
}
3434
}
3535
void Handle(TEvRemovePortion::TPtr& ev) {
36-
Manager->RemovePortion(ev->Get()->GetPortion());
36+
Manager->RemovePortion(ev->Get()->GetTabletId(), ev->Get()->GetPortion());
3737
}
3838
void Handle(TEvAskServiceDataAccessors::TPtr& ev);
3939

0 commit comments

Comments
 (0)