@@ -4665,9 +4665,12 @@ void TSchemeShard::OnActivateExecutor(const TActorContext &ctx) {
4665
4665
EnableReplaceIfExistsForExternalEntities = appData->FeatureFlags .GetEnableReplaceIfExistsForExternalEntities ();
4666
4666
EnableTempTables = appData->FeatureFlags .GetEnableTempTables ();
4667
4667
EnableTableDatetime64 = appData->FeatureFlags .GetEnableTableDatetime64 ();
4668
+ EnableResourcePoolsOnServerless = appData->FeatureFlags .GetEnableResourcePoolsOnServerless ();
4668
4669
EnableVectorIndex = appData->FeatureFlags .GetEnableVectorIndex ();
4670
+ EnableExternalDataSourcesOnServerless = appData->FeatureFlags .GetEnableExternalDataSourcesOnServerless ();
4669
4671
EnableParameterizedDecimal = appData->FeatureFlags .GetEnableParameterizedDecimal ();
4670
4672
EnableDataErasure = appData->FeatureFlags .GetEnableDataErasure ();
4673
+ EnableExternalSourceSchemaInference = appData->FeatureFlags .GetEnableExternalSourceSchemaInference ();
4671
4674
4672
4675
ConfigureCompactionQueues (appData->CompactionConfig , ctx);
4673
4676
ConfigureStatsBatching (appData->SchemeShardConfig , ctx);
@@ -4677,6 +4680,7 @@ void TSchemeShard::OnActivateExecutor(const TActorContext &ctx) {
4677
4680
4678
4681
ConfigureBackgroundCleaningQueue (appData->BackgroundCleaningConfig , ctx);
4679
4682
ConfigureDataErasureManager (appData->DataErasureConfig );
4683
+ ConfigureQueryService (appData->QueryServiceConfig , ctx);
4680
4684
4681
4685
if (appData->ChannelProfiles ) {
4682
4686
ChannelProfiles = appData->ChannelProfiles ;
@@ -7258,17 +7262,8 @@ void TSchemeShard::ApplyConsoleConfigs(const NKikimrConfig::TAppConfig& appConfi
7258
7262
}
7259
7263
7260
7264
if (appConfig.HasQueryServiceConfig ()) {
7261
- const auto & hostnamePatterns = appConfig.GetQueryServiceConfig ().GetHostnamePatterns ();
7262
- const auto & availableExternalDataSources = appConfig.GetQueryServiceConfig ().GetAvailableExternalDataSources ();
7263
- ExternalSourceFactory = NExternalSource::CreateExternalSourceFactory (
7264
- std::vector<TString>(hostnamePatterns.begin (), hostnamePatterns.end ()),
7265
- nullptr ,
7266
- appConfig.GetQueryServiceConfig ().GetS3 ().GetGeneratorPathsLimit (),
7267
- nullptr ,
7268
- appConfig.GetFeatureFlags ().GetEnableExternalSourceSchemaInference (),
7269
- appConfig.GetQueryServiceConfig ().GetS3 ().GetAllowLocalFiles (),
7270
- std::set<TString>(availableExternalDataSources.cbegin (), availableExternalDataSources.cend ())
7271
- );
7265
+ const auto & queryServiceConfig = appConfig.GetQueryServiceConfig ();
7266
+ ConfigureQueryService (queryServiceConfig, ctx);
7272
7267
}
7273
7268
7274
7269
if (appConfig.HasAuthConfig ()) {
@@ -7314,6 +7309,7 @@ void TSchemeShard::ApplyConsoleConfigs(const NKikimrConfig::TFeatureFlags& featu
7314
7309
EnableExternalDataSourcesOnServerless = featureFlags.GetEnableExternalDataSourcesOnServerless ();
7315
7310
EnableParameterizedDecimal = featureFlags.GetEnableParameterizedDecimal ();
7316
7311
EnableDataErasure = featureFlags.GetEnableDataErasure ();
7312
+ EnableExternalSourceSchemaInference = featureFlags.GetEnableExternalSourceSchemaInference ();
7317
7313
}
7318
7314
7319
7315
void TSchemeShard::ConfigureStatsBatching (const NKikimrConfig::TSchemeShardConfig& config, const TActorContext& ctx) {
@@ -7522,6 +7518,32 @@ void TSchemeShard::ConfigureAccountLockout(
7522
7518
<< " , AttemptResetDuration# " << accountLockoutInitializer.AttemptResetDuration );
7523
7519
}
7524
7520
7521
+ void TSchemeShard::ConfigureQueryService (
7522
+ const NKikimrConfig::TQueryServiceConfig& config,
7523
+ const TActorContext& ctx)
7524
+ {
7525
+ const auto & hostnamePatterns = config.GetHostnamePatterns ();
7526
+ const auto & availableExternalDataSources = config.GetAvailableExternalDataSources ();
7527
+ const auto pathsLimit = config.GetS3 ().GetGeneratorPathsLimit ();
7528
+ const auto allowLocalFiles = config.GetS3 ().GetAllowLocalFiles ();
7529
+ ExternalSourceFactory = NExternalSource::CreateExternalSourceFactory (
7530
+ std::vector<TString>(hostnamePatterns.begin (), hostnamePatterns.end ()),
7531
+ nullptr ,
7532
+ pathsLimit,
7533
+ nullptr ,
7534
+ EnableExternalSourceSchemaInference,
7535
+ allowLocalFiles,
7536
+ std::set<TString>(availableExternalDataSources.cbegin (), availableExternalDataSources.cend ())
7537
+ );
7538
+
7539
+ LOG_NOTICE_S (ctx, NKikimrServices::FLAT_TX_SCHEMESHARD,
7540
+ " QueryService configured: HostnamePatterns# [" << Join (" , " , hostnamePatterns) << " ]"
7541
+ << " , AvailableExternalDataSources# [" << Join (" , " , availableExternalDataSources) << " ]"
7542
+ << " , PathsLimit# " << pathsLimit
7543
+ << " , EnableExternalSourceSchemaInference# " << (EnableExternalSourceSchemaInference ? " true" : " false" )
7544
+ << " , AllowLocalFiles# " << (allowLocalFiles ? " true" : " false" ));
7545
+ }
7546
+
7525
7547
void TSchemeShard::StartStopCompactionQueues () {
7526
7548
// note, that we don't need to check current state of compaction queue
7527
7549
if (IsServerlessDomain (TPath::Init (RootPathId (), this ))) {
0 commit comments