Skip to content

Commit 09a1959

Browse files
authored
KIKIMR-20100: Add background cleaning (ydb-platform#513)
* Initial commit * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes * Rename Session to Owner * Fixes * Fixes * Fixes * Fixes * Fixes * Fixes issues * Fixes * Fixes * Fixes * Fixes
1 parent 8b7d7f3 commit 09a1959

34 files changed

+1158
-38
lines changed

ydb/core/base/appdata.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ TAppData::TAppData(
7575
, BootstrapConfigPtr(new NKikimrConfig::TBootstrap())
7676
, AwsCompatibilityConfigPtr(new NKikimrConfig::TAwsCompatibilityConfig())
7777
, S3ProxyResolverConfigPtr(new NKikimrConfig::TS3ProxyResolverConfig())
78+
, BackgroundCleaningConfigPtr(new NKikimrConfig::TBackgroundCleaningConfig())
7879
, StreamingConfig(*StreamingConfigPtr.get())
7980
, PQConfig(*PQConfigPtr.get())
8081
, PQClusterDiscoveryConfig(*PQClusterDiscoveryConfigPtr.get())
@@ -96,8 +97,8 @@ TAppData::TAppData(
9697
, BootstrapConfig(*BootstrapConfigPtr.get())
9798
, AwsCompatibilityConfig(*AwsCompatibilityConfigPtr.get())
9899
, S3ProxyResolverConfig(*S3ProxyResolverConfigPtr.get())
100+
, BackgroundCleaningConfig(*BackgroundCleaningConfigPtr.get())
99101
, KikimrShouldContinue(kikimrShouldContinue)
100-
101102
{}
102103

103104
TIntrusivePtr<IRandomProvider> TAppData::RandomProvider = CreateDefaultRandomProvider();

ydb/core/base/appdata_fwd.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ namespace NKikimrSharedCache {
3131

3232
namespace NKikimrProto {
3333
class TKeyConfig;
34-
class TAuthConfig;
34+
class TAuthConfig;
3535

3636
namespace NFolderService {
3737
class TFolderServiceConfig;
@@ -60,6 +60,7 @@ namespace NKikimrConfig {
6060
class TBootstrap;
6161
class TAwsCompatibilityConfig;
6262
class TS3ProxyResolverConfig;
63+
class TBackgroundCleaningConfig;
6364
}
6465

6566
namespace NKikimrNetClassifier {
@@ -204,6 +205,7 @@ struct TAppData {
204205
std::unique_ptr<NKikimrConfig::TAwsCompatibilityConfig> AwsCompatibilityConfigPtr;
205206
std::unique_ptr<NKikimrConfig::TS3ProxyResolverConfig> S3ProxyResolverConfigPtr;
206207
std::unique_ptr<NKikimrSharedCache::TSharedCacheConfig> SharedCacheConfigPtr;
208+
std::unique_ptr<NKikimrConfig::TBackgroundCleaningConfig> BackgroundCleaningConfigPtr;
207209

208210
NKikimrStream::TStreamingConfig& StreamingConfig;
209211
NKikimrPQ::TPQConfig& PQConfig;
@@ -226,6 +228,7 @@ struct TAppData {
226228
NKikimrConfig::TBootstrap& BootstrapConfig;
227229
NKikimrConfig::TAwsCompatibilityConfig& AwsCompatibilityConfig;
228230
NKikimrConfig::TS3ProxyResolverConfig& S3ProxyResolverConfig;
231+
NKikimrConfig::TBackgroundCleaningConfig& BackgroundCleaningConfig;
229232
bool EnforceUserTokenRequirement = false;
230233
bool AllowHugeKeyValueDeletes = true; // delete when all clients limit deletes per request
231234
bool EnableKqpSpilling = false;

ydb/core/cms/console/configs_dispatcher.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ const THashSet<ui32> DYNAMIC_KINDS({
5757
(ui32)NKikimrConsole::TConfigItem::TenantPoolConfigItem,
5858
(ui32)NKikimrConsole::TConfigItem::TenantSlotBrokerConfigItem,
5959
(ui32)NKikimrConsole::TConfigItem::AllowEditYamlInUiItem,
60+
(ui32)NKikimrConsole::TConfigItem::BackgroundCleaningConfigItem
6061
});
6162

6263
const THashSet<ui32> NON_YAML_KINDS({
@@ -161,7 +162,7 @@ class TConfigsDispatcher : public TActorBootstrapped<TConfigsDispatcher> {
161162
TCheckKindsResult CheckKinds(const TVector<ui32>& kinds, const char* errorContext) const;
162163

163164
NKikimrConfig::TAppConfig ParseYamlProtoConfig();
164-
165+
165166
void Handle(NMon::TEvHttpInfo::TPtr &ev);
166167
void Handle(TEvInterconnect::TEvNodesInfo::TPtr &ev);
167168
void Handle(TEvConsole::TEvConfigSubscriptionNotification::TPtr &ev);
@@ -783,7 +784,7 @@ void TConfigsDispatcher::Handle(TEvConsole::TEvConfigSubscriptionNotification::T
783784
subscription->YamlVersion = std::nullopt;
784785
}
785786
}
786-
787+
787788
if (CurrentStateFunc() == &TThis::StateInit) {
788789
Become(&TThis::StateWork);
789790
ProcessEnqueuedEvents();
@@ -995,7 +996,7 @@ void TConfigsDispatcher::Handle(TEvConsole::TEvGetNodeLabelsRequest::TPtr &ev) {
995996

996997
Send(ev->Sender, Response.Release());
997998
}
998-
999+
9991000
IActor *CreateConfigsDispatcher(
10001001
const NKikimrConfig::TAppConfig &config,
10011002
const TMap<TString, TString> &labels,

ydb/core/driver_lib/run/run.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ class TDomainsInitializer : public IAppDataInitializer {
228228
appData->EnableKqpSpilling = Config.GetTableServiceConfig().GetSpillingServiceConfig().GetLocalFileConfig().GetEnable();
229229

230230
appData->CompactionConfig = Config.GetCompactionConfig();
231+
appData->BackgroundCleaningConfig = Config.GetBackgroundCleaningConfig();
231232
}
232233
};
233234

ydb/core/kqp/executer_actor/kqp_executer.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,12 @@ IActor* CreateKqpExecuter(IKqpGateway::TExecPhysicalRequest&& request, const TSt
9494
TDuration maximalSecretsSnapshotWaitTime, const TIntrusivePtr<TUserRequestContext>& userRequestContext,
9595
const bool enableOlapSink);
9696

97-
IActor* CreateKqpSchemeExecuter(TKqpPhyTxHolder::TConstPtr phyTx, NKikimrKqp::EQueryType queryType, const TActorId& target,
97+
IActor* CreateKqpSchemeExecuter(
98+
TKqpPhyTxHolder::TConstPtr phyTx, NKikimrKqp::EQueryType queryType, const TActorId& target,
9899
const TMaybe<TString>& requestType, const TString& database,
99100
TIntrusiveConstPtr<NACLib::TUserToken> userToken,
100-
bool temporary, TString SessionId, TIntrusivePtr<TUserRequestContext> ctx);
101+
bool temporary, TString SessionId, TIntrusivePtr<TUserRequestContext> ctx,
102+
const TActorId& kqpTempTablesAgentActor = TActorId());
101103

102104
std::unique_ptr<TEvKqpExecuter::TEvTxResponse> ExecuteLiteral(
103105
IKqpGateway::TExecPhysicalRequest&& request, TKqpRequestCounters::TPtr counters, TActorId owner, const TIntrusivePtr<TUserRequestContext>& userRequestContext);

ydb/core/kqp/executer_actor/kqp_scheme_executer.cpp

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,11 @@ class TKqpSchemeExecuter : public TActorBootstrapped<TKqpSchemeExecuter> {
5050
return NKikimrServices::TActivity::KQP_EXECUTER_ACTOR;
5151
}
5252

53-
TKqpSchemeExecuter(TKqpPhyTxHolder::TConstPtr phyTx, NKikimrKqp::EQueryType queryType, const TActorId& target, const TMaybe<TString>& requestType,
53+
TKqpSchemeExecuter(
54+
TKqpPhyTxHolder::TConstPtr phyTx, NKikimrKqp::EQueryType queryType, const TActorId& target, const TMaybe<TString>& requestType,
5455
const TString& database, TIntrusiveConstPtr<NACLib::TUserToken> userToken,
55-
bool temporary, TString sessionId, TIntrusivePtr<TUserRequestContext> ctx)
56+
bool temporary, TString sessionId, TIntrusivePtr<TUserRequestContext> ctx,
57+
const TActorId& kqpTempTablesAgentActor)
5658
: PhyTx(phyTx)
5759
, QueryType(queryType)
5860
, Target(target)
@@ -62,6 +64,7 @@ class TKqpSchemeExecuter : public TActorBootstrapped<TKqpSchemeExecuter> {
6264
, SessionId(sessionId)
6365
, RequestContext(std::move(ctx))
6466
, RequestType(requestType)
67+
, KqpTempTablesAgentActor(kqpTempTablesAgentActor)
6568
{
6669
YQL_ENSURE(PhyTx);
6770
YQL_ENSURE(PhyTx->GetType() == NKqpProto::TKqpPhyTx::TYPE_SCHEME);
@@ -107,6 +110,9 @@ class TKqpSchemeExecuter : public TActorBootstrapped<TKqpSchemeExecuter> {
107110
}
108111
tableDesc->SetName(tableDesc->GetName() + SessionId);
109112
tableDesc->SetPath(tableDesc->GetPath() + SessionId);
113+
YQL_ENSURE(KqpTempTablesAgentActor != TActorId(),
114+
"Create temp table with empty KqpTempTablesAgentActor");
115+
ActorIdToProto(KqpTempTablesAgentActor, modifyScheme.MutableTempTableOwnerActorId());
110116
}
111117
ev->Record.MutableTransaction()->MutableModifyScheme()->CopyFrom(modifyScheme);
112118
break;
@@ -576,16 +582,20 @@ class TKqpSchemeExecuter : public TActorBootstrapped<TKqpSchemeExecuter> {
576582
ui64 SchemeShardTabletId = 0;
577583
TIntrusivePtr<TUserRequestContext> RequestContext;
578584
const TMaybe<TString> RequestType;
585+
const TActorId KqpTempTablesAgentActor;
579586
};
580587

581588
} // namespace
582589

583-
IActor* CreateKqpSchemeExecuter(TKqpPhyTxHolder::TConstPtr phyTx, NKikimrKqp::EQueryType queryType, const TActorId& target,
590+
IActor* CreateKqpSchemeExecuter(
591+
TKqpPhyTxHolder::TConstPtr phyTx, NKikimrKqp::EQueryType queryType, const TActorId& target,
584592
const TMaybe<TString>& requestType, const TString& database,
585593
TIntrusiveConstPtr<NACLib::TUserToken> userToken, bool temporary, TString sessionId,
586-
TIntrusivePtr<TUserRequestContext> ctx)
594+
TIntrusivePtr<TUserRequestContext> ctx, const TActorId& kqpTempTablesAgentActor)
587595
{
588-
return new TKqpSchemeExecuter(phyTx, queryType, target, requestType, database, userToken, temporary, sessionId, std::move(ctx));
596+
return new TKqpSchemeExecuter(
597+
phyTx, queryType, target, requestType, database, userToken,
598+
temporary, sessionId, std::move(ctx), kqpTempTablesAgentActor);
589599
}
590600

591601
} // namespace NKikimr::NKqp

ydb/core/kqp/proxy_service/kqp_proxy_service.cpp

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <ydb/core/kqp/executer_actor/kqp_executer.h>
1818
#include <ydb/core/kqp/session_actor/kqp_worker_common.h>
1919
#include <ydb/core/kqp/node_service/kqp_node_service.h>
20+
#include <ydb/core/tx/schemeshard/schemeshard.h>
2021
#include <ydb/library/yql/dq/actors/spilling/spilling_file.h>
2122
#include <ydb/library/yql/dq/actors/spilling/spilling.h>
2223
#include <ydb/core/actorlib_impl/long_timer.h>
@@ -109,6 +110,32 @@ TString EncodeSessionId(ui32 nodeId, const TString& id) {
109110
return NOperationId::ProtoToString(opId);
110111
}
111112

113+
class TKqpTempTablesAgentActor: public TActorBootstrapped<TKqpTempTablesAgentActor> {
114+
public:
115+
static constexpr NKikimrServices::TActivity::EType ActorActivityType() {
116+
return NKikimrServices::TActivity::KQP_PROXY_ACTOR;
117+
}
118+
119+
explicit TKqpTempTablesAgentActor()
120+
{}
121+
122+
void Bootstrap() {
123+
Become(&TKqpTempTablesAgentActor::StateWork);
124+
}
125+
126+
STATEFN(StateWork) {
127+
switch (ev->GetTypeRewrite()) {
128+
hFunc(NSchemeShard::TEvSchemeShard::TEvOwnerActorAck, HandleNoop)
129+
sFunc(TEvents::TEvPoison, PassAway);
130+
}
131+
}
132+
133+
private:
134+
template<typename T>
135+
void HandleNoop(T&) {
136+
}
137+
};
138+
112139
class TKqpProxyService : public TActorBootstrapped<TKqpProxyService> {
113140
struct TEvPrivate {
114141
enum EEv {
@@ -263,6 +290,8 @@ class TKqpProxyService : public TActorBootstrapped<TKqpProxyService> {
263290

264291
KqpRmServiceActor = MakeKqpRmServiceID(SelfId().NodeId());
265292

293+
KqpTempTablesAgentActor = Register(new TKqpTempTablesAgentActor());
294+
266295
Become(&TKqpProxyService::MainState);
267296
StartCollectPeerProxyData();
268297
PublishResourceUsage();
@@ -434,6 +463,8 @@ class TKqpProxyService : public TActorBootstrapped<TKqpProxyService> {
434463
void PassAway() override {
435464
Send(CompileService, new TEvents::TEvPoisonPill());
436465

466+
Send(KqpTempTablesAgentActor, new TEvents::TEvPoisonPill());
467+
437468
if (TableServiceConfig.GetEnableAsyncComputationPatternCompilation()) {
438469
Send(CompileComputationPatternService, new TEvents::TEvPoisonPill());
439470
}
@@ -657,8 +688,8 @@ class TKqpProxyService : public TActorBootstrapped<TKqpProxyService> {
657688
if (cancelAfter) {
658689
timerDuration = Min(timerDuration, cancelAfter);
659690
}
660-
KQP_PROXY_LOG_D("Ctx: " << *ev->Get()->GetUserRequestContext() << ". TEvQueryRequest, set timer for: " << timerDuration
661-
<< " timeout: " << timeout << " cancelAfter: " << cancelAfter
691+
KQP_PROXY_LOG_D("Ctx: " << *ev->Get()->GetUserRequestContext() << ". TEvQueryRequest, set timer for: " << timerDuration
692+
<< " timeout: " << timeout << " cancelAfter: " << cancelAfter
662693
<< ". " << "Send request to target, requestId: " << requestId << ", targetId: " << targetId);
663694
auto status = timerDuration == cancelAfter ? NYql::NDqProto::StatusIds::CANCELLED : NYql::NDqProto::StatusIds::TIMEOUT;
664695
StartQueryTimeout(requestId, timerDuration, status);
@@ -1419,7 +1450,9 @@ class TKqpProxyService : public TActorBootstrapped<TKqpProxyService> {
14191450

14201451
auto config = CreateConfig(KqpSettings, workerSettings);
14211452

1422-
IActor* sessionActor = CreateKqpSessionActor(SelfId(), sessionId, KqpSettings, workerSettings, FederatedQuerySetup, AsyncIoFactory, ModuleResolverState, Counters, QueryServiceConfig, MetadataProviderConfig);
1453+
IActor* sessionActor = CreateKqpSessionActor(SelfId(), sessionId, KqpSettings, workerSettings,
1454+
FederatedQuerySetup, AsyncIoFactory, ModuleResolverState, Counters,
1455+
QueryServiceConfig, MetadataProviderConfig, KqpTempTablesAgentActor);
14231456
auto workerId = TlsActivationContext->ExecutorThread.RegisterActor(sessionActor, TMailboxType::HTSwap, AppData()->UserPoolId);
14241457
TKqpSessionInfo* sessionInfo = LocalSessions->Create(
14251458
sessionId, workerId, database, dbCounters, supportsBalancing, GetSessionIdleDuration(), pgWire);
@@ -1651,6 +1684,7 @@ class TKqpProxyService : public TActorBootstrapped<TKqpProxyService> {
16511684
EScriptExecutionsCreationStatus ScriptExecutionsCreationStatus = EScriptExecutionsCreationStatus::NotStarted;
16521685
std::deque<THolder<IEventHandle>> DelayedEventsQueue;
16531686
bool IsLookupByRmScheduled = false;
1687+
TActorId KqpTempTablesAgentActor;
16541688
};
16551689

16561690
} // namespace

ydb/core/kqp/session_actor/kqp_session_actor.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#include <ydb/core/kqp/provider/yql_kikimr_results.h>
1818
#include <ydb/core/kqp/rm_service/kqp_snapshot_manager.h>
1919
#include <ydb/core/ydb_convert/ydb_convert.h>
20+
#include <ydb/core/tx/schemeshard/schemeshard.h>
2021
#include <ydb/public/lib/operation_id/operation_id.h>
2122

2223
#include <ydb/core/util/ulid.h>
@@ -155,7 +156,8 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
155156
NYql::NDq::IDqAsyncIoFactory::TPtr asyncIoFactory,
156157
TIntrusivePtr<TModuleResolverState> moduleResolverState, TIntrusivePtr<TKqpCounters> counters,
157158
const NKikimrConfig::TQueryServiceConfig& queryServiceConfig,
158-
const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig)
159+
const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig,
160+
const TActorId& kqpTempTablesAgentActor)
159161
: Owner(owner)
160162
, SessionId(sessionId)
161163
, Counters(counters)
@@ -168,6 +170,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
168170
, Transactions(*Config->_KqpMaxActiveTxPerSession.Get(), TDuration::Seconds(*Config->_KqpTxIdleTimeoutSec.Get()))
169171
, QueryServiceConfig(queryServiceConfig)
170172
, MetadataProviderConfig(metadataProviderConfig)
173+
, KqpTempTablesAgentActor(kqpTempTablesAgentActor)
171174
{
172175
RequestCounters = MakeIntrusive<TKqpRequestCounters>();
173176
RequestCounters->Counters = Counters;
@@ -1072,7 +1075,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
10721075
bool temporary = GetTemporaryTableInfo(tx).has_value();
10731076

10741077
auto executerActor = CreateKqpSchemeExecuter(tx, QueryState->GetType(), SelfId(), requestType, Settings.Database, userToken,
1075-
temporary, TempTablesState.SessionId, QueryState->UserRequestContext);
1078+
temporary, TempTablesState.SessionId, QueryState->UserRequestContext, KqpTempTablesAgentActor);
10761079

10771080
ExecuterId = RegisterWithSameMailbox(executerActor);
10781081
}
@@ -1175,6 +1178,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
11751178
if (!tx) {
11761179
return std::nullopt;
11771180
}
1181+
11781182
auto optPath = tx->GetSchemeOpTempTablePath();
11791183
if (!optPath) {
11801184
return std::nullopt;
@@ -1201,6 +1205,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
12011205
if (!tx) {
12021206
return;
12031207
}
1208+
12041209
auto optInfo = GetTemporaryTableInfo(tx);
12051210
if (optInfo) {
12061211
auto [isCreate, info] = *optInfo;
@@ -1888,6 +1893,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
18881893
LOG_D("Cleanup temp tables: " << TempTablesState.TempTables.size());
18891894
auto tempTablesManager = CreateKqpTempTablesManager(
18901895
std::move(TempTablesState), SelfId(), Settings.Database);
1896+
18911897
RegisterWithSameMailbox(tempTablesManager);
18921898
return;
18931899
} else {
@@ -2221,6 +2227,7 @@ class TKqpSessionActor : public TActorBootstrapped<TKqpSessionActor> {
22212227

22222228
NKikimrConfig::TQueryServiceConfig QueryServiceConfig;
22232229
NKikimrConfig::TMetadataProviderConfig MetadataProviderConfig;
2230+
TActorId KqpTempTablesAgentActor;
22242231
std::shared_ptr<std::atomic<bool>> CompilationCookie;
22252232
};
22262233

@@ -2232,11 +2239,12 @@ IActor* CreateKqpSessionActor(const TActorId& owner, const TString& sessionId,
22322239
NYql::NDq::IDqAsyncIoFactory::TPtr asyncIoFactory,
22332240
TIntrusivePtr<TModuleResolverState> moduleResolverState, TIntrusivePtr<TKqpCounters> counters,
22342241
const NKikimrConfig::TQueryServiceConfig& queryServiceConfig,
2235-
const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig)
2242+
const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig,
2243+
const TActorId& kqpTempTablesAgentActor)
22362244
{
22372245
return new TKqpSessionActor(owner, sessionId, kqpSettings, workerSettings, federatedQuerySetup,
22382246
std::move(asyncIoFactory), std::move(moduleResolverState), counters,
2239-
queryServiceConfig, metadataProviderConfig
2247+
queryServiceConfig, metadataProviderConfig, kqpTempTablesAgentActor
22402248
);
22412249
}
22422250

ydb/core/kqp/session_actor/kqp_session_actor.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ IActor* CreateKqpSessionActor(const TActorId& owner, const TString& sessionId,
3838
NYql::NDq::IDqAsyncIoFactory::TPtr asyncIoFactory,
3939
TIntrusivePtr<TModuleResolverState> moduleResolverState, TIntrusivePtr<TKqpCounters> counters,
4040
const NKikimrConfig::TQueryServiceConfig& queryServiceConfig,
41-
const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig
42-
);
41+
const NKikimrConfig::TMetadataProviderConfig& metadataProviderConfig,
42+
const TActorId& kqpTempTablesAgentActor);
4343

4444
IActor* CreateKqpTempTablesManager(
4545
TKqpTempTablesState tempTablesState, const TActorId& target, const TString& database);

ydb/core/kqp/session_actor/kqp_temp_tables_manager.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ class TKqpTempTablesManager : public TActorBootstrapped<TKqpTempTablesManager> {
3939
return NKikimrServices::TActivity::KQP_SESSION_ACTOR;
4040
}
4141

42-
TKqpTempTablesManager(TKqpTempTablesState tempTablesState, const TActorId& target, const TString& database)
42+
TKqpTempTablesManager(TKqpTempTablesState tempTablesState, const TActorId& target,
43+
const TString& database)
4344
: TempTablesState(std::move(tempTablesState))
4445
, Target(target)
4546
, Database(database)
@@ -112,7 +113,8 @@ class TKqpTempTablesManager : public TActorBootstrapped<TKqpTempTablesManager> {
112113

113114
} // namespace
114115

115-
IActor* CreateKqpTempTablesManager(TKqpTempTablesState tempTablesState, const TActorId& target, const TString& database)
116+
IActor* CreateKqpTempTablesManager(TKqpTempTablesState tempTablesState, const TActorId& target,
117+
const TString& database)
116118
{
117119
return new TKqpTempTablesManager(tempTablesState, target, database);
118120
}

ydb/core/kqp/session_actor/ya.make

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ PEERDIR(
1616
ydb/core/kqp/common
1717
ydb/core/kqp/federated_query
1818
ydb/public/lib/operation_id
19+
ydb/core/tx/schemeshard
1920
)
2021

2122
YQL_LAST_ABI_VERSION()

0 commit comments

Comments
 (0)