diff options
author | spuchin <spuchin@ydb.tech> | 2022-11-02 22:48:33 +0300 |
---|---|---|
committer | spuchin <spuchin@ydb.tech> | 2022-11-02 22:48:33 +0300 |
commit | 7d1dc4419d8e9e73a26496be51aace1267cb5d2e (patch) | |
tree | 9e3d8ebd6f7b06b08a69f96e3240f2e955cbb73c | |
parent | 30f08903e52a60c9459d38dfcbddd6f3794b0c9c (diff) | |
download | ydb-7d1dc4419d8e9e73a26496be51aace1267cb5d2e.tar.gz |
Remove engine selection flags from configs. ()
33 files changed, 86 insertions, 559 deletions
diff --git a/ydb/core/kqp/executer/ut/kqp_executer_ut.cpp b/ydb/core/kqp/executer/ut/kqp_executer_ut.cpp index 3148a2ec59..5a424611ec 100644 --- a/ydb/core/kqp/executer/ut/kqp_executer_ut.cpp +++ b/ydb/core/kqp/executer/ut/kqp_executer_ut.cpp @@ -88,7 +88,6 @@ Y_UNIT_TEST_SUITE(KqpExecuter) { TExprContext ctx; auto tx = BuildTxPlan(R"( - PRAGMA kikimr.UseNewEngine = "true"; DECLARE $items AS 'List<Struct<Key:Uint64?, Text:String?>>'; $itemsSource = ( diff --git a/ydb/core/kqp/host/kqp_host.cpp b/ydb/core/kqp/host/kqp_host.cpp index 349ee4d49f..8d80ff05c0 100644 --- a/ydb/core/kqp/host/kqp_host.cpp +++ b/ydb/core/kqp/host/kqp_host.cpp @@ -1644,22 +1644,9 @@ private: YQL_ENSURE(settings.RollbackTx); auto query = std::make_unique<NKikimrKqp::TPreparedQuery>(); - auto engine = maybeTx->Get()->DeferredEffects.GetEngine(); - if (engine.has_value()) { - bool newEngine = *engine == TKqpTransactionInfo::EEngine::NewEngine; - YQL_ENSURE(!settings.UseNewEngine.Defined() || *settings.UseNewEngine == newEngine); - } else if (SessionCtx->Config().HasKqpForceNewEngine()) { - engine = TKqpTransactionInfo::EEngine::NewEngine; - } - - if (engine.has_value() && *engine == TKqpTransactionInfo::EEngine::NewEngine) { - query->SetVersion(NKikimrKqp::TPreparedQuery::VERSION_PHYSICAL_V1); - query->MutablePhysicalQuery()->SetType(NKqpProto::TKqpPhyQuery::TYPE_DATA); - } else { - query->SetVersion(NKikimrKqp::TPreparedQuery::VERSION_V1); - query->AddKqls(); - } + query->SetVersion(NKikimrKqp::TPreparedQuery::VERSION_PHYSICAL_V1); + query->MutablePhysicalQuery()->SetType(NKqpProto::TKqpPhyQuery::TYPE_DATA); YQL_CLOG(INFO, ProviderKqp) << "Rollback tx: " << txId << ", query: " << query->ShortUtf8DebugString(); @@ -1674,24 +1661,10 @@ private: auto query = std::make_unique<NKikimrKqp::TPreparedQuery>(); auto settings1 = settings; - auto engine = tx->DeferredEffects.GetEngine(); - if (engine.has_value()) { - bool newEngine = *engine == TKqpTransactionInfo::EEngine::NewEngine; - YQL_ENSURE(!settings.UseNewEngine.Defined() || *settings.UseNewEngine == newEngine); - } else if (SessionCtx->Config().HasKqpForceNewEngine()) { - engine = TKqpTransactionInfo::EEngine::NewEngine; - } - - if (engine.has_value() && *engine == TKqpTransactionInfo::EEngine::NewEngine) { - settings1.UseNewEngine = true; - query->SetVersion(NKikimrKqp::TPreparedQuery::VERSION_PHYSICAL_V1); - query->MutablePhysicalQuery()->SetType(NKqpProto::TKqpPhyQuery::TYPE_DATA); - } else { - settings1.UseNewEngine = false; - query->SetVersion(NKikimrKqp::TPreparedQuery::VERSION_V1); - query->AddKqls(); - } + settings1.UseNewEngine = true; + query->SetVersion(NKikimrKqp::TPreparedQuery::VERSION_PHYSICAL_V1); + query->MutablePhysicalQuery()->SetType(NKqpProto::TKqpPhyQuery::TYPE_DATA); std::shared_ptr<const NKikimrKqp::TPreparedQuery> q(query.release()); return ExecuteDataQueryInternal(tx, q, {}, settings1, {}, {}, /* replyPrepared */ false, ctx); @@ -1710,22 +1683,9 @@ private: YQL_ENSURE(settings.CommitTx); auto query = std::make_unique<NKikimrKqp::TPreparedQuery>(); - auto engine = maybeTx->Get()->DeferredEffects.GetEngine(); - if (engine.has_value()) { - bool newEngine = *engine == TKqpTransactionInfo::EEngine::NewEngine; - YQL_ENSURE(!settings.UseNewEngine.Defined() || *settings.UseNewEngine == newEngine); - } else if (SessionCtx->Config().HasKqpForceNewEngine()) { - engine = TKqpTransactionInfo::EEngine::NewEngine; - } - - if (engine.has_value() && *engine == TKqpTransactionInfo::EEngine::NewEngine) { - query->SetVersion(NKikimrKqp::TPreparedQuery::VERSION_PHYSICAL_V1); - query->MutablePhysicalQuery()->SetType(NKqpProto::TKqpPhyQuery::TYPE_DATA); - } else { - query->SetVersion(NKikimrKqp::TPreparedQuery::VERSION_V1); - query->AddKqls(); - } + query->SetVersion(NKikimrKqp::TPreparedQuery::VERSION_PHYSICAL_V1); + query->MutablePhysicalQuery()->SetType(NKqpProto::TKqpPhyQuery::TYPE_DATA); std::shared_ptr<const NKikimrKqp::TPreparedQuery> q(query.release()); return ExecuteDataQueryInternal(txId, q, NKikimrMiniKQL::TParams(), settings, /* issues */ {}, @@ -1751,9 +1711,7 @@ private: IKikimrQueryExecutor::TExecuteSettings settings; settings.RollbackTx = true; settings.Deadlines.TimeoutAt = TInstant::Now() + TDuration::Minutes(1); - - auto engine = tx->DeferredEffects.GetEngine(); - settings.UseNewEngine = engine.has_value() && *engine == TKqpTransactionInfo::EEngine::NewEngine; + settings.UseNewEngine = true; return RollbackTransactionInternal(tx, settings, ctx); }); @@ -1802,9 +1760,6 @@ private: SessionCtx->Query().Type = EKikimrQueryType::Dml; SessionCtx->Query().PrepareOnly = true; SessionCtx->Query().PreparingQuery = std::make_unique<NKikimrKqp::TPreparedQuery>(); - if (settings.UseNewEngine) { - SessionCtx->Config().UseNewEngine = *settings.UseNewEngine; - } if (settings.DocumentApiRestricted) { SessionCtx->Query().DocumentApiRestricted = *settings.DocumentApiRestricted; } diff --git a/ydb/core/kqp/kqp.h b/ydb/core/kqp/kqp.h index e34a7c4611..47063b67d2 100644 --- a/ydb/core/kqp/kqp.h +++ b/ydb/core/kqp/kqp.h @@ -225,7 +225,6 @@ struct TKqpCompileResult { ETableReadType MaxReadType; TPreparedQueryConstPtr PreparedQuery; - TPreparedQueryConstPtr PreparedQueryNewEngine; std::optional<TQueryTraits> QueryTraits; }; @@ -442,9 +441,6 @@ struct TEvKqp { NKqpProto::TKqpStatsCompile Stats; std::optional<TString> ReplayMessage; - ui32 ForceNewEnginePercent = 0; - ui32 ForceNewEngineLevel = 0; - NLWTrace::TOrbit Orbit; }; diff --git a/ydb/core/kqp/kqp_compile_actor.cpp b/ydb/core/kqp/kqp_compile_actor.cpp index e571dc5a6b..bb0d0e71a8 100644 --- a/ydb/core/kqp/kqp_compile_actor.cpp +++ b/ydb/core/kqp/kqp_compile_actor.cpp @@ -26,12 +26,6 @@ namespace NKikimr { namespace NKqp { -static std::atomic<bool> FailForcedNewEngineCompilationStatus = false; - -void FailForcedNewEngineCompilationForTests(bool fail) { - FailForcedNewEngineCompilationStatus = fail; -} - static const TString YqlName = "CompileActor"; using namespace NKikimrConfig; @@ -50,7 +44,7 @@ public: TKqpCompileActor(const TActorId& owner, const TKqpSettings::TConstPtr& kqpSettings, const TTableServiceConfig& serviceConfig, TIntrusivePtr<TModuleResolverState> moduleResolverState, TIntrusivePtr<TKqpCounters> counters, const TString& uid, const TKqpQueryId& query, const TString& userToken, - TKqpDbCountersPtr dbCounters, bool recompileWithNewEngine, NWilson::TTraceId traceId) + TKqpDbCountersPtr dbCounters, NWilson::TTraceId traceId) : Owner(owner) , ModuleResolverState(moduleResolverState) , Counters(counters) @@ -60,7 +54,6 @@ public: , DbCounters(dbCounters) , Config(MakeIntrusive<TKikimrConfiguration>()) , CompilationTimeout(TDuration::MilliSeconds(serviceConfig.GetCompileTimeoutMs())) - , RecompileWithNewEngine(recompileWithNewEngine) , CompileActorSpan(TWilsonKqp::CompileActor, std::move(traceId), "CompileActor") { Config->Init(kqpSettings->DefaultSettings.GetDefaultSettings(), Query.Cluster, kqpSettings->Settings, false); @@ -90,7 +83,8 @@ public: << ", text: \"" << EscapeC(Query.Text) << "\"" << ", startTime: " << StartTime); - TimeoutTimerActorId = CreateLongTimer(ctx, CompilationTimeout, new IEventHandle(SelfId(), SelfId(), new TEvents::TEvWakeup())); + TimeoutTimerActorId = CreateLongTimer(ctx, CompilationTimeout, new IEventHandle(SelfId(), SelfId(), + new TEvents::TEvWakeup())); TYqlLogScope logScope(ctx, NKikimrServices::KQP_YQL, YqlName, ""); @@ -98,9 +92,10 @@ public: counters->Counters = Counters; counters->DbCounters = DbCounters; counters->TxProxyMon = new NTxProxy::TTxProxyMon(AppData(ctx)->Counters); - std::shared_ptr<NYql::IKikimrGateway::IKqpTableMetadataLoader> loader = std::make_shared<TKqpTableMetadataLoader>(TlsActivationContext->ActorSystem(), true); - Gateway = CreateKikimrIcGateway(Query.Cluster, Query.Database, std::move(loader), ctx.ExecutorThread.ActorSystem, - ctx.SelfID.NodeId(), counters, MakeMiniKQLCompileServiceID()); + std::shared_ptr<NYql::IKikimrGateway::IKqpTableMetadataLoader> loader = + std::make_shared<TKqpTableMetadataLoader>(TlsActivationContext->ActorSystem(), true); + Gateway = CreateKikimrIcGateway(Query.Cluster, Query.Database, std::move(loader), + ctx.ExecutorThread.ActorSystem, ctx.SelfID.NodeId(), counters, MakeMiniKQLCompileServiceID()); Gateway->SetToken(Query.Cluster, UserToken); Config->FeatureFlags = AppData(ctx)->FeatureFlags; @@ -109,7 +104,6 @@ public: AppData(ctx)->FunctionRegistry, false); IKqpHost::TPrepareSettings prepareSettings; - // prepareSettings.UseNewEngine = use default settings prepareSettings.DocumentApiRestricted = Query.Settings.DocumentApiRestricted; NCpuTime::TCpuTimer timer(CompileCpuTime); @@ -145,28 +139,6 @@ private: } } - STFUNC(RecompileNewEngineState) { - try { - switch (ev->GetTypeRewrite()) { - HFunc(TEvKqp::TEvContinueProcess, HandleRecompile); - CFunc(TEvents::TSystem::Wakeup, HandleRecompileTimeout); - default: { - LOG_ERROR_S(ctx, NKikimrServices::KQP_COMPILE_ACTOR, "Internal error in RecompileNewEngineState" - << ", self: " << ctx.SelfID - << ", unexpected event: " << ev->GetTypeRewrite()); - - Reply(KqpCompileResult, ctx); - } - } - } catch (const yexception& e) { - LOG_ERROR_S(ctx, NKikimrServices::KQP_COMPILE_ACTOR, "Internal error in RecompileNewEngineState" - << ", self: " << ctx.SelfID - << ", message: " << e.what()); - - Reply(KqpCompileResult, ctx); - } - } - private: void Continue(const TActorContext &ctx) { TActorSystem* actorSystem = ctx.ExecutorThread.ActorSystem; @@ -198,8 +170,8 @@ private: replayMessage.InsertValue("query_cluster", Query.Cluster); replayMessage.InsertValue("query_plan", queryPlan); TString message(NJson::WriteJson(replayMessage, /*formatOutput*/ false)); - LOG_DEBUG_S(*TlsActivationContext, NKikimrServices::KQP_COMPILE_ACTOR, "[" << SelfId() << "]: " << "Built the replay message " - << message); + LOG_DEBUG_S(*TlsActivationContext, NKikimrServices::KQP_COMPILE_ACTOR, "[" << SelfId() << "]: " + << "Built the replay message " << message); ReplayMessage = std::move(message); } @@ -288,31 +260,11 @@ private: auto duration = now - StartTime; Counters->ReportCompileDurations(DbCounters, duration, CompileCpuTime); + const auto& queryTraits = KqpCompileResult->QueryTraits; LOG_DEBUG_S(ctx, NKikimrServices::KQP_COMPILE_ACTOR, "Compilation successful" << ", self: " << ctx.SelfID << ", duration: " << duration - << ", traits: " << (KqpCompileResult->QueryTraits ? KqpCompileResult->QueryTraits->ToString() : "<none>")); - - if (RecompileWithNewEngine && - KqpCompileResult->PreparedQuery->GetVersion() == NKikimrKqp::TPreparedQuery::VERSION_V1) - { - LOG_DEBUG_S(ctx, NKikimrServices::KQP_COMPILE_ACTOR, "About to recompile with NewEngine" - << ", self: " << ctx.SelfID); - - RecompileStartTime = now; - - IKqpHost::TPrepareSettings prepareSettings; - prepareSettings.UseNewEngine = true; - prepareSettings.DocumentApiRestricted = KqpCompileResult->Query->Settings.DocumentApiRestricted; - - NCpuTime::TCpuTimer timer(CompileCpuTime); - AsyncCompileResult = KqpHost->PrepareDataQuery(KqpCompileResult->Query->Text, prepareSettings); - - Continue(ctx); - Become(&TKqpCompileActor::RecompileNewEngineState); - - return; - } + << ", traits: " << (queryTraits ? queryTraits->ToString() : "<none>")); } else { LOG_ERROR_S(ctx, NKikimrServices::KQP_COMPILE_ACTOR, "Compilation failed" << ", self: " << ctx.SelfID @@ -336,55 +288,6 @@ private: return ReplyError(Ydb::StatusIds::TIMEOUT, {issue}, ctx); } - void HandleRecompile(TEvKqp::TEvContinueProcess::TPtr &ev, const TActorContext &ctx) { - Y_ENSURE(!ev->Get()->QueryId); - - TYqlLogScope logScope(ctx, NKikimrServices::KQP_YQL, YqlName, ""); - - if (!ev->Get()->Finished) { - NCpuTime::TCpuTimer timer(CompileCpuTime); - Continue(ctx); - return; - } - - auto kqpResult = std::move(AsyncCompileResult->GetResult()); - auto status = GetYdbStatus(kqpResult); - - if (status == Ydb::StatusIds::SUCCESS && !FailForcedNewEngineCompilationStatus.load(std::memory_order_relaxed)) { - YQL_ENSURE(kqpResult.PreparingQuery); - KqpCompileResult->PreparedQueryNewEngine.reset(kqpResult.PreparingQuery.release()); - - auto duration = TInstant::Now() - RecompileStartTime; - Counters->ReportCompileDurations(DbCounters, duration, CompileCpuTime); - - LOG_DEBUG_S(ctx, NKikimrServices::KQP_COMPILE_ACTOR, "ReCompilation successful" - << ", self: " << ctx.SelfID - << ", duration: " << duration); - } else { - Counters->ReportCompileError(DbCounters); - Counters->ForceNewEngineCompileErrors->Inc(); - - LOG_ERROR_S(ctx, NKikimrServices::KQP_COMPILE_ACTOR, "ReCompilation failed" - << ", self: " << ctx.SelfID - << ", query: " << KqpCompileResult->Query->Text - << ", status: " << Ydb::StatusIds_StatusCode_Name(status) - << ", issues: " << kqpResult.Issues().ToString()); - } - - Reply(KqpCompileResult, ctx); - } - - void HandleRecompileTimeout(const TActorContext& ctx) { - LOG_WARN_S(ctx, NKikimrServices::KQP_COMPILE_ACTOR, "ReCompilation timeout" - << ", self: " << ctx.SelfID - << ", cluster: " << Query.Cluster - << ", database: " << Query.Database - << ", text: \"" << EscapeC(Query.Text) << "\"" - << ", startTime: " << StartTime); - - return Reply(KqpCompileResult, ctx); - } - private: TActorId Owner; TIntrusivePtr<TModuleResolverState> ModuleResolverState; @@ -395,7 +298,6 @@ private: TKqpDbCountersPtr DbCounters; TKikimrConfiguration::TPtr Config; TDuration CompilationTimeout; - bool RecompileWithNewEngine; TInstant StartTime; TDuration CompileCpuTime; TInstant RecompileStartTime; @@ -422,10 +324,10 @@ void ApplyServiceConfig(TKikimrConfiguration& kqpConfig, const TTableServiceConf IActor* CreateKqpCompileActor(const TActorId& owner, const TKqpSettings::TConstPtr& kqpSettings, const TTableServiceConfig& serviceConfig, TIntrusivePtr<TModuleResolverState> moduleResolverState, TIntrusivePtr<TKqpCounters> counters, const TString& uid, const TKqpQueryId& query, const TString& userToken, - TKqpDbCountersPtr dbCounters, bool recompileWithNewEngine, NWilson::TTraceId traceId) + TKqpDbCountersPtr dbCounters, NWilson::TTraceId traceId) { return new TKqpCompileActor(owner, kqpSettings, serviceConfig, moduleResolverState, counters, uid, - std::move(query), userToken, dbCounters, recompileWithNewEngine, std::move(traceId)); + std::move(query), userToken, dbCounters, std::move(traceId)); } } // namespace NKqp diff --git a/ydb/core/kqp/kqp_compile_service.cpp b/ydb/core/kqp/kqp_compile_service.cpp index cc11fa520c..781bc9ad47 100644 --- a/ydb/core/kqp/kqp_compile_service.cpp +++ b/ydb/core/kqp/kqp_compile_service.cpp @@ -48,17 +48,10 @@ public: auto removedItem = List.Insert(item); IncBytes(item->Value.CompileResult->PreparedQuery->ByteSize()); - if (item->Value.CompileResult->PreparedQueryNewEngine) { - IncBytes(item->Value.CompileResult->PreparedQueryNewEngine->ByteSize()); - } if (removedItem) { DecBytes(removedItem->Value.CompileResult->PreparedQuery->ByteSize()); - if (removedItem->Value.CompileResult->PreparedQueryNewEngine) { - DecBytes(removedItem->Value.CompileResult->PreparedQueryNewEngine->ByteSize()); - } - QueryIndex.erase(*removedItem->Value.CompileResult->Query); auto indexIt = Index.find(*removedItem); if (indexIt != Index.end()) { @@ -114,9 +107,6 @@ public: List.Erase(item); DecBytes(item->Value.CompileResult->PreparedQuery->ByteSize()); - if (item->Value.CompileResult->PreparedQueryNewEngine) { - DecBytes(item->Value.CompileResult->PreparedQueryNewEngine->ByteSize()); - } Y_VERIFY(item->Value.CompileResult); Y_VERIFY(item->Value.CompileResult->Query); @@ -368,28 +358,11 @@ private: void HandleConfig(NConsole::TEvConsole::TEvConfigNotificationRequest::TPtr& ev) { auto &event = ev->Get()->Record; - ui32 prevForceNewEnginePercent = Config.GetForceNewEnginePercent(); - ui32 prevForceNewEngineLevel = Config.GetForceNewEngineLevel(); - Config.Swap(event.MutableConfig()->MutableTableServiceConfig()); LOG_INFO(*TlsActivationContext, NKikimrServices::KQP_COMPILE_SERVICE, "Updated config"); auto responseEv = MakeHolder<NConsole::TEvConsole::TEvConfigNotificationResponse>(event); Send(ev->Sender, responseEv.Release(), IEventHandle::FlagTrackDelivery, ev->Cookie); - - if (Config.GetForceNewEnginePercent() != prevForceNewEnginePercent || - Config.GetForceNewEngineLevel() != prevForceNewEngineLevel) - { - LOG_NOTICE_S(*TlsActivationContext, NKikimrServices::KQP_COMPILE_SERVICE, - "ForceNewEnginePercent/Level was changed from " - << prevForceNewEnginePercent << '/' << prevForceNewEngineLevel << " to " - << Config.GetForceNewEnginePercent() << '/' << Config.GetForceNewEngineLevel()); - - if (prevForceNewEnginePercent == 0 && Config.GetForceNewEnginePercent() != 0) { - // clear cache only on `enable feature` action - QueryCache.Clear(); - } - } } void HandleUndelivery(TEvents::TEvUndelivered::TPtr& ev) { @@ -708,17 +681,14 @@ private: } void StartCompilation(TKqpCompileRequest&& request, const TActorContext& ctx) { - bool recompileWithNewEngine = Config.GetForceNewEnginePercent() > 0; - auto compileActor = CreateKqpCompileActor(ctx.SelfID, KqpSettings, Config, ModuleResolverState, Counters, - request.Uid, request.Query, request.UserToken, request.DbCounters, recompileWithNewEngine, request.CompileServiceSpan.GetTraceId()); + request.Uid, request.Query, request.UserToken, request.DbCounters, request.CompileServiceSpan.GetTraceId()); auto compileActorId = ctx.ExecutorThread.RegisterActor(compileActor, TMailboxType::HTSwap, AppData(ctx)->UserPoolId); LOG_DEBUG_S(ctx, NKikimrServices::KQP_COMPILE_SERVICE, "Created compile actor" << ", sender: " << request.Sender - << ", compileActor: " << compileActorId - << ", recompileWithNewEngine: " << recompileWithNewEngine); + << ", compileActor: " << compileActorId); request.CompileActor = compileActorId; RequestsQueue.AddActiveRequest(std::move(request)); @@ -746,11 +716,6 @@ private: auto responseEv = MakeHolder<TEvKqp::TEvCompileResponse>(compileResult, std::move(orbit)); responseEv->Stats.CopyFrom(compileStats); - if (responseEv->CompileResult && responseEv->CompileResult->PreparedQueryNewEngine) { - responseEv->ForceNewEnginePercent = Config.GetForceNewEnginePercent(); - responseEv->ForceNewEngineLevel = Config.GetForceNewEngineLevel(); - } - if (span) { span.End(); } diff --git a/ydb/core/kqp/kqp_default_settings.txt b/ydb/core/kqp/kqp_default_settings.txt index 8bcb5274e8..b3f67b48d9 100644 --- a/ydb/core/kqp/kqp_default_settings.txt +++ b/ydb/core/kqp/kqp_default_settings.txt @@ -59,11 +59,6 @@ DefaultSettings { } DefaultSettings { - Name: "_KqpAllowNewEngine" - Value: "true" -} - -DefaultSettings { Name: "_KqpAllowUnsafeCommit" Value: "true" } @@ -132,9 +127,3 @@ DefaultSettings { Name: "_KqpDisableLlvmForUdfStages" Value: "false" } - -DefaultSettings { - Name: "_KqpForceNewEngine" - Value: "true" -} - diff --git a/ydb/core/kqp/kqp_impl.h b/ydb/core/kqp/kqp_impl.h index 06883ec177..0f4a047fca 100644 --- a/ydb/core/kqp/kqp_impl.h +++ b/ydb/core/kqp/kqp_impl.h @@ -52,7 +52,7 @@ IActor* CreateKqpCompileService(const NKikimrConfig::TTableServiceConfig& servic IActor* CreateKqpCompileActor(const TActorId& owner, const TKqpSettings::TConstPtr& kqpSettings, const NKikimrConfig::TTableServiceConfig& serviceConfig, TIntrusivePtr<TModuleResolverState> moduleResolverState, TIntrusivePtr<TKqpCounters> counters, const TString& uid, const TKqpQueryId& query, const TString& userToken, - TKqpDbCountersPtr dbCounters, bool recompileWithNewEngine, NWilson::TTraceId traceId = {}); + TKqpDbCountersPtr dbCounters, NWilson::TTraceId traceId = {}); IActor* CreateKqpCompileRequestActor(const TActorId& owner, const TString& userToken, const TMaybe<TString>& uid, TMaybe<TKqpQueryId>&& query, bool keepInCache, const TInstant& deadline, TKqpDbCountersPtr dbCounters, diff --git a/ydb/core/kqp/provider/yql_kikimr_exec.cpp b/ydb/core/kqp/provider/yql_kikimr_exec.cpp index 15c679f52d..16772256a6 100644 --- a/ydb/core/kqp/provider/yql_kikimr_exec.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_exec.cpp @@ -1191,7 +1191,7 @@ private: TExprContext& ctx)>; std::pair<IGraphTransformer::TStatus, TAsyncTransformCallbackFuture> PerformExecution(TExprBase node, - TExprContext& ctx, const TString& cluster, TMaybe<TString> mode, TMaybe<bool> useNewEngine, + TExprContext& ctx, const TString& cluster, TMaybe<TString> mode, const TExecuteRunFunc& runFunc, const TExecuteFinalizeFunc& finalizeFunc) { if (node.Ref().GetState() == TExprNode::EState::ExecutionComplete) { @@ -1222,7 +1222,6 @@ private: } settings.IsolationLevel = isolationLevel; - settings.UseNewEngine = useNewEngine; settings.StrictDml = config->StrictDml.Get(cluster).GetRef(); const auto& scanQuery = config->ScanQuery.Get(cluster); @@ -1301,7 +1300,7 @@ private: FillExecDataQueryAst(node.Cast<TKiExecDataQuery>(), result.QueryAst, ctx); }; - return PerformExecution(execQuery, ctx, cluster, settings.Mode, settings.UseNewEngine, runFunc, finalizeFunc); + return PerformExecution(execQuery, ctx, cluster, settings.Mode, runFunc, finalizeFunc); } bool ApplyTableOperations(const TString& cluster, const TVector<NKqpProto::TKqpTableOp>& tableOps, diff --git a/ydb/core/kqp/provider/yql_kikimr_opt.cpp b/ydb/core/kqp/provider/yql_kikimr_opt.cpp index 642f5f3a62..c90b5dbdf2 100644 --- a/ydb/core/kqp/provider/yql_kikimr_opt.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_opt.cpp @@ -755,12 +755,8 @@ TAutoPtr<IGraphTransformer> CreateKiPhysicalOptProposalTransformer(TIntrusivePtr if (auto maybeDatasink = node.Maybe<TCoCommit>().DataSink().Maybe<TKiDataSink>()) { auto cluster = TString(maybeDatasink.Cast().Cluster()); - auto useNewEngine = sessionCtx->Config().UseNewEngine.Get(); - if (!useNewEngine.Defined() && sessionCtx->Config().HasKqpForceNewEngine()) { - useNewEngine = true; - } - ret = KiBuildQuery(node, useNewEngine, ctx); + ret = KiBuildQuery(node, ctx); if (ret != inputNode) { return ret; diff --git a/ydb/core/kqp/provider/yql_kikimr_opt_build.cpp b/ydb/core/kqp/provider/yql_kikimr_opt_build.cpp index 627ada30bc..7526e060fa 100644 --- a/ydb/core/kqp/provider/yql_kikimr_opt_build.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_opt_build.cpp @@ -466,7 +466,7 @@ TKiDataQuery MakeKiDataQuery(TExprBase node, const TKiExploreTxResults& txExplor } // namespace -TExprNode::TPtr KiBuildQuery(TExprBase node, const TMaybe<bool>& useNewEngine, TExprContext& ctx) { +TExprNode::TPtr KiBuildQuery(TExprBase node, TExprContext& ctx) { if (!node.Maybe<TCoCommit>().DataSink().Maybe<TKiDataSink>()) { return node.Ptr(); } @@ -511,7 +511,6 @@ TExprNode::TPtr KiBuildQuery(TExprBase node, const TMaybe<bool>& useNewEngine, T execSettings.Mode = value; } } - execSettings.UseNewEngine = useNewEngine; auto execQuery = Build<TKiExecDataQuery>(ctx, node.Pos()) .World<TCoSync>() diff --git a/ydb/core/kqp/provider/yql_kikimr_provider.cpp b/ydb/core/kqp/provider/yql_kikimr_provider.cpp index df940c0503..43b39ee0e8 100644 --- a/ydb/core/kqp/provider/yql_kikimr_provider.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_provider.cpp @@ -665,9 +665,6 @@ TKiExecDataQuerySettings TKiExecDataQuerySettings::Parse(TKiExecDataQuery exec) if (setting.Name() == "mode") { YQL_ENSURE(setting.Value().Maybe<TCoAtom>()); settings.Mode = setting.Value().Cast<TCoAtom>(); - } else if (setting.Name() == "use_new_engine") { - YQL_ENSURE(setting.Value().Maybe<TCoAtom>()); - settings.UseNewEngine = FromString<bool>(setting.Value().Cast<TCoAtom>().Value()); } else { settings.Other.push_back(setting); } @@ -686,13 +683,6 @@ TCoNameValueTupleList TKiExecDataQuerySettings::BuildNode(TExprContext& ctx, TPo .Done()); } - if (UseNewEngine) { - settings.push_back(Build<TCoNameValueTuple>(ctx, pos) - .Name().Build("use_new_engine") - .Value<TCoAtom>().Build(ToString(*UseNewEngine)) - .Done()); - } - return Build<TCoNameValueTupleList>(ctx, pos) .Add(settings) .Done(); diff --git a/ydb/core/kqp/provider/yql_kikimr_provider_impl.h b/ydb/core/kqp/provider/yql_kikimr_provider_impl.h index db334d3061..4c3682082a 100644 --- a/ydb/core/kqp/provider/yql_kikimr_provider_impl.h +++ b/ydb/core/kqp/provider/yql_kikimr_provider_impl.h @@ -99,7 +99,6 @@ private: struct TKiExecDataQuerySettings { TMaybe<TString> Mode; - TMaybe<bool> UseNewEngine; TVector<NNodes::TCoNameValueTuple> Other; NNodes::TCoNameValueTupleList BuildNode(TExprContext& ctx, TPositionHandle pos) const; @@ -243,7 +242,7 @@ NNodes::TExprBase DeduplicateByMembers(const NNodes::TExprBase& expr, const TSet TPositionHandle pos); // Optimizer rules -TExprNode::TPtr KiBuildQuery(NNodes::TExprBase node, const TMaybe<bool>& useNewEngine, TExprContext& ctx); +TExprNode::TPtr KiBuildQuery(NNodes::TExprBase node, TExprContext& ctx); TExprNode::TPtr KiBuildResult(NNodes::TExprBase node, const TString& cluster, TExprContext& ctx); TExprNode::TPtr KiApplyLimitToSelectRange(NNodes::TExprBase node, TExprContext& ctx); TExprNode::TPtr KiPushPredicateToSelectRange(NNodes::TExprBase node, TExprContext& ctx, diff --git a/ydb/core/kqp/provider/yql_kikimr_settings.cpp b/ydb/core/kqp/provider/yql_kikimr_settings.cpp index ebd392e16c..be21318b38 100644 --- a/ydb/core/kqp/provider/yql_kikimr_settings.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_settings.cpp @@ -39,8 +39,6 @@ TKikimrConfiguration::TKikimrConfiguration() { REGISTER_SETTING(*this, _KqpSlowLogNoticeThresholdMs); REGISTER_SETTING(*this, _KqpSlowLogTraceThresholdMs); REGISTER_SETTING(*this, _KqpYqlSyntaxVersion); - REGISTER_SETTING(*this, _KqpAllowNewEngine); - REGISTER_SETTING(*this, _KqpForceNewEngine); REGISTER_SETTING(*this, _KqpAllowUnsafeCommit); REGISTER_SETTING(*this, _KqpMaxComputeActors); REGISTER_SETTING(*this, _KqpEnableSpilling); @@ -55,7 +53,6 @@ TKikimrConfiguration::TKikimrConfiguration() { REGISTER_SETTING(*this, _ResultRowsLimit); REGISTER_SETTING(*this, _AllowReverseRange); REGISTER_SETTING(*this, CommitSafety).Enum({"Full", "Safe", "Moderate"}); - REGISTER_SETTING(*this, UseNewEngine); REGISTER_SETTING(*this, UnwrapReadTableValues); REGISTER_SETTING(*this, AllowNullCompareInIndex); REGISTER_SETTING(*this, EnableSystemColumns); @@ -87,18 +84,6 @@ bool TKikimrSettings::HasUnwrapReadTableValues() const { return GetFlagValue(UnwrapReadTableValues.Get()); } -bool TKikimrSettings::HasAllowKqpNewEngine() const { - return GetFlagValue(_KqpAllowNewEngine.Get()); -} - -bool TKikimrSettings::HasKqpForceNewEngine() const { - return GetFlagValue(_KqpForceNewEngine.Get()); -} - -bool TKikimrSettings::HasUseNewEngine() const { - return GetFlagValue(UseNewEngine.Get()); -} - bool TKikimrSettings::HasAllowKqpUnsafeCommit() const { return GetFlagValue(_KqpAllowUnsafeCommit.Get()); } diff --git a/ydb/core/kqp/provider/yql_kikimr_settings.h b/ydb/core/kqp/provider/yql_kikimr_settings.h index 530cfb2855..1436c766c4 100644 --- a/ydb/core/kqp/provider/yql_kikimr_settings.h +++ b/ydb/core/kqp/provider/yql_kikimr_settings.h @@ -28,8 +28,6 @@ struct TKikimrSettings { NCommon::TConfSetting<ui32, false> _KqpSlowLogNoticeThresholdMs; NCommon::TConfSetting<ui32, false> _KqpSlowLogTraceThresholdMs; NCommon::TConfSetting<ui32, false> _KqpYqlSyntaxVersion; - NCommon::TConfSetting<bool, false> _KqpAllowNewEngine; - NCommon::TConfSetting<bool, false> _KqpForceNewEngine; NCommon::TConfSetting<bool, false> _KqpAllowUnsafeCommit; NCommon::TConfSetting<ui32, false> _KqpMaxComputeActors; NCommon::TConfSetting<bool, false> _KqpEnableSpilling; @@ -47,7 +45,6 @@ struct TKikimrSettings { NCommon::TConfSetting<TString, false> _DefaultCluster; NCommon::TConfSetting<ui32, false> _ResultRowsLimit; NCommon::TConfSetting<TString, false> CommitSafety; - NCommon::TConfSetting<bool, false> UseNewEngine; NCommon::TConfSetting<bool, false> UnwrapReadTableValues; NCommon::TConfSetting<bool, false> AllowNullCompareInIndex; NCommon::TConfSetting<bool, false> EnableSystemColumns; @@ -74,9 +71,6 @@ struct TKikimrSettings { /* Accessors */ bool HasAllowNullCompareInIndex() const; bool HasUnwrapReadTableValues() const; - bool HasAllowKqpNewEngine() const; - bool HasKqpForceNewEngine() const; - bool HasUseNewEngine() const; bool AllowReverseRange() const; bool HasDefaultCluster() const; bool HasAllowKqpUnsafeCommit() const; diff --git a/ydb/core/kqp/ut/common/kqp_ut_common.cpp b/ydb/core/kqp/ut/common/kqp_ut_common.cpp index afb1f97de0..dd327e6736 100644 --- a/ydb/core/kqp/ut/common/kqp_ut_common.cpp +++ b/ydb/core/kqp/ut/common/kqp_ut_common.cpp @@ -75,18 +75,6 @@ TKikimrRunner::TKikimrRunner(const TKikimrSettings& settings) { Cerr << "Trying to start YDB, gRPC: " << grpcPort << ", MsgBus: " << mbusPort << Endl; TVector<NKikimrKqp::TKqpSetting> effectiveKqpSettings; - { - // Allow NewEngine in tests - NKikimrKqp::TKqpSetting setting; - setting.SetName("_KqpAllowNewEngine"); - setting.SetValue("true"); - effectiveKqpSettings.push_back(setting); - - // Force NewEngine in tests - // setting.SetName("_KqpForceNewEngine"); - // setting.SetValue("true"); - // effectiveKqpSettings.push_back(setting); - } bool enableSpilling = false; if (settings.AppConfig.GetTableServiceConfig().GetSpillingServiceConfig().GetLocalFileConfig().GetEnable()) { diff --git a/ydb/core/kqp/ut/kqp_ne_ut.cpp b/ydb/core/kqp/ut/kqp_ne_ut.cpp index d8f73e4c57..7af04af709 100644 --- a/ydb/core/kqp/ut/kqp_ne_ut.cpp +++ b/ydb/core/kqp/ut/kqp_ne_ut.cpp @@ -3065,62 +3065,6 @@ Y_UNIT_TEST_SUITE(KqpNewEngine) { CompareYson(R"([[["Value1"]]])", FormatResultSetYson(result.GetResultSet(0))); } - Y_UNIT_TEST(InteractiveForceNE) { - TVector<NKikimrKqp::TKqpSetting> settings; - NKikimrKqp::TKqpSetting setting; - setting.SetName("_KqpForceNewEngine"); - setting.SetValue("true"); - settings.push_back(setting); - - TKikimrRunner kikimr(settings); - auto db = kikimr.GetTableClient(); - auto session = db.CreateSession().GetValueSync().GetSession(); - - { - auto result = session.ExecuteDataQuery(R"( - --!syntax_v1 - SELECT * FROM TwoShard; - )", TTxControl::BeginTx()).ExtractValueSync(); - UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); - - auto tx = result.GetTransaction(); - - result = session.ExecuteDataQuery(R"( - --!syntax_v1 - SELECT 1; - )", TTxControl::Tx(*tx).CommitTx()).GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); - } - - { - auto result = session.ExecuteDataQuery(R"( - --!syntax_v1 - SELECT * FROM TwoShard; - )", TTxControl::BeginTx()).ExtractValueSync(); - UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); - - auto tx = result.GetTransaction(); - - auto commitResult = tx->Commit().GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL_C(commitResult.GetStatus(), EStatus::SUCCESS, - commitResult.GetIssues().ToString()); - } - - { - auto result = session.ExecuteDataQuery(R"( - --!syntax_v1 - SELECT * FROM TwoShard; - )", TTxControl::BeginTx()).ExtractValueSync(); - UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); - - auto tx = result.GetTransaction(); - - auto rollbackResult = tx->Rollback().GetValueSync(); - UNIT_ASSERT_VALUES_EQUAL_C(rollbackResult.GetStatus(), EStatus::SUCCESS, - rollbackResult.GetIssues().ToString()); - } - } - Y_UNIT_TEST(PagingNoPredicateExtract) { TKikimrRunner kikimr; auto db = kikimr.GetTableClient(); diff --git a/ydb/core/protos/config.proto b/ydb/core/protos/config.proto index 6b96836310..2ef714b727 100644 --- a/ydb/core/protos/config.proto +++ b/ydb/core/protos/config.proto @@ -1173,15 +1173,10 @@ message TTableServiceConfig { optional TSpillingServiceConfig SpillingServiceConfig = 16; optional TShutdownSettings ShutdownSettings = 17; optional TSessionBalancerSettings SessionBalancerSettings = 18; - optional uint32 ForceNewEnginePercent = 19 [default = 0]; - // level: - // 0 - Non interactive, read-only queries without joins, sql in and secondary indexes. With fallback to old engine. - // 1 - Non interactive, read-only queries. With fallback to old engine. - // 2 - All read-only queries. Without fallback to new engine (in case of rw tx, read queries will be executed with new engine, write queries - with old one). - // 3 - New engine for all queries. - optional uint32 ForceNewEngineLevel = 22 [default = 0]; + reserved 19; // ForceNewEnginePercent optional uint32 CompileQueryCacheTTLSec = 20 [default = 0]; optional TQueryReplayConfig QueryReplayConfig = 21; + reserved 22; // ForceNewEngineLevel reserved 23; // optional bool EnableKqpSessionActor = 23 [default = true]; optional bool EnableKqpPatternCacheLiteral = 24 [default = false]; optional bool EnableKqpPatternCacheCompute = 25 [default = false]; diff --git a/ydb/core/sys_view/ut_common.cpp b/ydb/core/sys_view/ut_common.cpp index 8f67963059..726c531a94 100644 --- a/ydb/core/sys_view/ut_common.cpp +++ b/ydb/core/sys_view/ut_common.cpp @@ -30,10 +30,6 @@ TTestEnv::TTestEnv(ui32 staticNodes, ui32 dynamicNodes, ui32 storagePools, bool auto grpcPort = PortManager.GetPort(); TVector<NKikimrKqp::TKqpSetting> kqpSettings; - NKikimrKqp::TKqpSetting setting; - setting.SetName("_KqpAllowNewEngine"); - setting.SetValue("true"); - kqpSettings.push_back(setting); Settings = new Tests::TServerSettings(mbusPort); Settings->SetDomainName("Root"); diff --git a/ydb/core/sys_view/ut_kqp.cpp b/ydb/core/sys_view/ut_kqp.cpp index db28272aa7..9f51991dd7 100644 --- a/ydb/core/sys_view/ut_kqp.cpp +++ b/ydb/core/sys_view/ut_kqp.cpp @@ -271,7 +271,6 @@ Y_UNIT_TEST_SUITE(SystemView) { auto session = client.CreateSession().GetValueSync().GetSession(); { auto result = session.ExecuteDataQuery(R"( - PRAGMA kikimr.UseNewEngine = "true"; SELECT PathId, PartIdx, Path FROM `Root/.sys/partition_stats`; )", TTxControl::BeginTx().CommitTx()).ExtractValueSync(); @@ -282,7 +281,6 @@ Y_UNIT_TEST_SUITE(SystemView) { } { auto result = session.ExecuteDataQuery(R"( - PRAGMA kikimr.UseNewEngine = "true"; SELECT PathId, PartIdx, Path FROM `Root/Tenant1/.sys/partition_stats`; )", TTxControl::BeginTx().CommitTx()).ExtractValueSync(); @@ -293,7 +291,6 @@ Y_UNIT_TEST_SUITE(SystemView) { } { auto result = session.ExecuteDataQuery(R"( - PRAGMA kikimr.UseNewEngine = "true"; SELECT PathId, PartIdx, Path FROM `Root/Tenant2/.sys/partition_stats`; )", TTxControl::BeginTx().CommitTx()).ExtractValueSync(); diff --git a/ydb/core/tx/datashard/datashard_ut_order.cpp b/ydb/core/tx/datashard/datashard_ut_order.cpp index 1cc601c23f..02725bea9b 100644 --- a/ydb/core/tx/datashard/datashard_ut_order.cpp +++ b/ydb/core/tx/datashard/datashard_ut_order.cpp @@ -3631,13 +3631,6 @@ void TestLateKqpQueryAfterColumnDrop(bool dataQuery, const TString& query, bool .SetEnableMvcc(enableMvcc) .SetUseRealThreads(false); - if (dataQuery) { - NKikimrKqp::TKqpSetting setting; - setting.SetName("_KqpAllowNewEngine"); - setting.SetValue("true"); - serverSettings.KqpSettings.push_back(setting); - } - Tests::TServer::TPtr server = new TServer(serverSettings); auto &runtime = *server->GetRuntime(); auto sender = runtime.AllocateEdgeActor(); diff --git a/ydb/core/tx/datashard/testload/kqp_upsert.cpp b/ydb/core/tx/datashard/testload/kqp_upsert.cpp index 2c7de33c7c..c04ff51769 100644 --- a/ydb/core/tx/datashard/testload/kqp_upsert.cpp +++ b/ydb/core/tx/datashard/testload/kqp_upsert.cpp @@ -63,7 +63,6 @@ TQueryInfo GenerateUpsert(size_t n) { str << R"__( --!syntax_v1 - PRAGMA Kikimr.UseNewEngine = 'true'; DECLARE $key AS Utf8; DECLARE $field0 AS Utf8; diff --git a/ydb/public/lib/idx_test/idx_test.h b/ydb/public/lib/idx_test/idx_test.h index 9444cf1463..53fb82bca6 100644 --- a/ydb/public/lib/idx_test/idx_test.h +++ b/ydb/public/lib/idx_test/idx_test.h @@ -51,7 +51,6 @@ public: struct TRunSettings { size_t RunLimit; size_t Infly; - bool NewEngine; }; virtual NJson::TJsonValue Run(const TString& tableName, ui32 loadCommands, const TRunSettings& settings) = 0; diff --git a/ydb/public/lib/idx_test/idx_test_loader.cpp b/ydb/public/lib/idx_test/idx_test_loader.cpp index 001b081734..a0a13687f4 100644 --- a/ydb/public/lib/idx_test/idx_test_loader.cpp +++ b/ydb/public/lib/idx_test/idx_test_loader.cpp @@ -28,10 +28,7 @@ NThreading::TFuture<TStatus> FinishTxAsync(const TDataQueryResult& in) { } } -TString SetPragmas(const TString& in, bool useNewEngine) { - if (useNewEngine) { - return "--!syntax_v1\nPRAGMA Kikimr.UseNewEngine = \"true\";\n" + in; - } +TString SetPragmas(const TString& in) { return "--!syntax_v1\n" + in; } @@ -228,13 +225,11 @@ public: TSelectAndUpsertIfUniqTask( TTableDescription tableDescription, const TString& tableName, - TTableClient& client, - bool useNewEngine) + TTableClient& client) : TRandomValueProvider(TableDescriptionToShardsPower(tableDescription), KEYRANGELIMIT) , TableDescription_(tableDescription) , TableName_(tableName) , Client_(client) - , UseNewEngine_(useNewEngine) { CreateProgram(); } @@ -403,7 +398,7 @@ private: TableName_.c_str(), ParamName_.c_str()); - Programs_.push_back({SetPragmas(program, UseNewEngine_), upsertInput}); + Programs_.push_back({SetPragmas(program), upsertInput}); } TString pkColumns; @@ -438,7 +433,7 @@ private: sql += Sprintf("SELECT %s FROM `%s` VIEW %s WHERE %s", pkColumns.c_str(), TableName_.c_str(), indexDesc.GetIndexName().c_str(), indexPredicate.c_str()); - Programs_.push_back({SetPragmas(sql, UseNewEngine_), predicates}); + Programs_.push_back({SetPragmas(sql), predicates}); } } @@ -446,7 +441,6 @@ private: TTableDescription TableDescription_; TString TableName_; TTableClient Client_; - bool UseNewEngine_; TVector<std::pair<TString, TVector<std::pair<TColumn, TString>>>> Programs_; @@ -461,13 +455,11 @@ public: TSelectAndCompareTask( TTableDescription tableDescription, const TString& tableName, - TTableClient& client, - bool useNewEngine) + TTableClient& client) : TRandomValueProvider(TableDescriptionToShardsPower(tableDescription), KEYRANGELIMIT) , TableDescription_(tableDescription) , TableName_(tableName) , Client_(client) - , UseNewEngine_(useNewEngine) { CreateProgram(); } @@ -650,7 +642,7 @@ private: } select1 += Sprintf("SELECT %s FROM `%s` WHERE %s", allColumns.c_str(), TableName_.c_str(), pkPredicate.c_str()); - Programs_.push_back({SetPragmas(select1, UseNewEngine_), pkPredicates}); + Programs_.push_back({SetPragmas(select1), pkPredicates}); THashMap<TString, std::pair<TString, TVector<std::pair<TColumn, @@ -686,14 +678,13 @@ private: sql.first += Sprintf("SELECT %s FROM `%s` VIEW %s WHERE %s", allColumns.c_str(), TableName_.c_str(), indexDesc.GetIndexName().c_str(), indexPredicate.c_str()); - Programs_.push_back({SetPragmas(sql.first, UseNewEngine_), predicates}); + Programs_.push_back({SetPragmas(sql.first), predicates}); } } TTableDescription TableDescription_; TString TableName_; TTableClient Client_; - const bool UseNewEngine_; TVector<std::pair<TString, TVector<std::pair<TColumn, TString>>>> Programs_; @@ -709,14 +700,12 @@ public: TTableDescription tableDescription, const TString& tableName, TTableClient& client, - IWorkLoader::ELoadCommand stmt, - bool useNewEngine) + IWorkLoader::ELoadCommand stmt) : TRandomValueProvider(TableDescriptionToShardsPower(tableDescription), KEYRANGELIMIT) , TableDescription_(tableDescription) , TableName_(tableName) , Client_(client) , Stmt_(stmt) - , UseNewEngine_(useNewEngine) { CreatePrograms(); } @@ -833,7 +822,7 @@ public: } - return {SetPragmas(sql, UseNewEngine_), resultColumns}; + return {SetPragmas(sql), resultColumns}; } IWorkLoader::ELoadCommand GetTaskId() const override { @@ -860,7 +849,6 @@ private: TString TableName_; TTableClient Client_; const IWorkLoader::ELoadCommand Stmt_; - const bool UseNewEngine_; // program, columns TVector<std::pair<TString, TVector<std::pair<TColumn, TString>>>> Programs_; }; @@ -873,14 +861,12 @@ public: TTableDescription tableDescription, const TString& tableName, TTableClient& client, - IWorkLoader::ELoadCommand stmt, - bool useNewEngine) + IWorkLoader::ELoadCommand stmt) : TRandomValueProvider(TableDescriptionToShardsPower(tableDescription), KEYRANGELIMIT) , TableDescription_(tableDescription) , TableName_(tableName) , Client_(client) , Stmt_(stmt) - , UseNewEngine_(useNewEngine) { CreatePrograms(); } @@ -970,7 +956,7 @@ private: TableName_.c_str(), ParamName_.c_str()); - return {SetPragmas(program, UseNewEngine_), resCol}; + return {SetPragmas(program), resCol}; } void CreatePrograms() { @@ -989,7 +975,6 @@ private: TString TableName_; TTableClient Client_; const IWorkLoader::ELoadCommand Stmt_; - const bool UseNewEngine_; // program, columns TVector<std::pair<TString, TVector<TColumn>>> Programs_; const TString ParamName_ = "$items"; @@ -1090,39 +1075,39 @@ public: switch (i & loadCommands) { case IWorkLoader::LC_UPSERT: tasks.emplace_back(std::make_pair(std::make_unique<TUpdateViaParamListTask>( - tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_UPSERT, settings.NewEngine), 1000)); + tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_UPSERT), 1000)); break; case IWorkLoader::LC_INSERT: tasks.emplace_back(std::make_pair(std::make_unique<TUpdateViaParamListTask>( - tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_INSERT, settings.NewEngine), 1000)); + tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_INSERT), 1000)); break; case IWorkLoader::LC_UPDATE: tasks.emplace_back(std::make_pair(std::make_unique<TUpdateViaParamItemsTask>( - tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_UPDATE, settings.NewEngine), 1000)); + tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_UPDATE), 1000)); break; case IWorkLoader::LC_UPDATE_ON: tasks.emplace_back(std::make_pair(std::make_unique<TUpdateViaParamListTask>( - tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_UPDATE_ON, settings.NewEngine), 1000)); + tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_UPDATE_ON), 1000)); break; case IWorkLoader::LC_REPLACE: tasks.emplace_back(std::make_pair(std::make_unique<TUpdateViaParamListTask>( - tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_REPLACE, settings.NewEngine), 1000)); + tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_REPLACE), 1000)); break; case IWorkLoader::LC_DELETE: tasks.emplace_back(std::make_pair(std::make_unique<TUpdateViaParamItemsTask>( - tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_DELETE, settings.NewEngine), 1000)); + tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_DELETE), 1000)); break; case IWorkLoader::LC_DELETE_ON: tasks.emplace_back(std::make_pair(std::make_unique<TUpdateViaParamListTask>( - tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_DELETE_ON, settings.NewEngine), 1000)); + tableDescription.GetRef(), tableName, Client_, IWorkLoader::LC_DELETE_ON), 1000)); break; case IWorkLoader::LC_SELECT: tasks.emplace_back(std::make_pair(std::make_unique<TSelectAndCompareTask>( - tableDescription.GetRef(), tableName, Client_, settings.NewEngine), 1000)); + tableDescription.GetRef(), tableName, Client_), 1000)); break; case IWorkLoader::LC_UPSERT_IF_UNIQ: tasks.emplace_back(std::make_pair(std::make_unique<TSelectAndUpsertIfUniqTask>( - tableDescription.GetRef(), tableName, Client_, settings.NewEngine), 1000)); + tableDescription.GetRef(), tableName, Client_), 1000)); break; case IWorkLoader::LC_ALTER_ADD_INDEX: tasks.emplace_back(std::make_pair(std::make_unique<TAlterTableAddIndexTask>( diff --git a/ydb/services/ydb/ydb_index_ut.cpp b/ydb/services/ydb/ydb_index_ut.cpp index fa90b593e5..aa26d04bb6 100644 --- a/ydb/services/ydb/ydb_index_ut.cpp +++ b/ydb/services/ydb/ydb_index_ut.cpp @@ -10,7 +10,6 @@ struct TRunSettings { const bool PkOverlap; const bool IndexOverlap; const bool WithDataColumn; - const bool UseNewEngine; }; static void RunTest(ui32 shardsCount, ui32 rowsCount, ui32 indexCount, const TRunSettings& settings) { @@ -68,7 +67,7 @@ static void RunTest(ui32 shardsCount, ui32 rowsCount, ui32 indexCount, const TRu IWorkLoader::LC_UPDATE_ON | IWorkLoader::LC_DELETE_ON | IWorkLoader::LC_DELETE; - workLoader->Run("Root/Test", stms, IWorkLoader::TRunSettings{rowsCount, 5, settings.UseNewEngine}); + workLoader->Run("Root/Test", stms, IWorkLoader::TRunSettings{rowsCount, 5}); auto checker = CreateChecker(driver); checker->Run("Root/Test"); driver.Stop(true); @@ -79,111 +78,51 @@ Y_UNIT_TEST_SUITE(YdbIndexTable) { UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings { .PkOverlap = true, .IndexOverlap = false, - .WithDataColumn = false, - .UseNewEngine = false + .WithDataColumn = false })); } -/* Y_UNIT_TEST(MultiShardTableOneIndexNewEngine) { - UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings{ - .PkOverlap = true, - .IndexOverlap = false, - .WithDataColumn = false, - .UseNewEngine = true - })); - }*/ - Y_UNIT_TEST(MultiShardTableOneIndexDataColumn) { UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings{ .PkOverlap = true, .IndexOverlap = false, - .WithDataColumn = true, - .UseNewEngine = false + .WithDataColumn = true })); } -/* Y_UNIT_TEST(MultiShardTableOneIndexDataColumnNewEngine) { - UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings{ - .PkOverlap = true, - .IndexOverlap = false, - .WithDataColumn = true, - .UseNewEngine = true - })); - }*/ - Y_UNIT_TEST(MultiShardTableOneIndexIndexOverlap) { UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings{ .PkOverlap = false, .IndexOverlap = true, - .WithDataColumn = false, - .UseNewEngine = false + .WithDataColumn = false })); } -/* Y_UNIT_TEST(MultiShardTableOneIndexIndexOverlapNewEngine) { - UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings{ - .PkOverlap = false, - .IndexOverlap = true, - .WithDataColumn = false, - .UseNewEngine = true - })); - }*/ - Y_UNIT_TEST(MultiShardTableOneIndexIndexOverlapDataColumn) { UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings{ .PkOverlap = false, .IndexOverlap = true, - .WithDataColumn = true, - .UseNewEngine = false + .WithDataColumn = true })); } -/* Y_UNIT_TEST(MultiShardTableOneIndexIndexOverlapDataColumnNewEngine) { - UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings{ - .PkOverlap = false, - .IndexOverlap = true, - .WithDataColumn = true, - .UseNewEngine = true - })); - }*/ - Y_UNIT_TEST(MultiShardTableOneIndexPkOverlap) { UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings{ .PkOverlap = true, .IndexOverlap = false, - .WithDataColumn = false, - .UseNewEngine = false + .WithDataColumn = false })); } -/* Y_UNIT_TEST(MultiShardTableOneIndexPkOverlapNewEngine) { - UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 1, TRunSettings{ - .PkOverlap = true, - .IndexOverlap = false, - .WithDataColumn = false, - .UseNewEngine = true - })); - }*/ - Y_UNIT_TEST(MultiShardTableTwoIndexes) { UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 2, TRunSettings{ .PkOverlap = false, .IndexOverlap = false, - .WithDataColumn = false, - .UseNewEngine = false + .WithDataColumn = false })); } -/* Y_UNIT_TEST(MultiShardTableTwoIndexesNewEngine) { - UNIT_ASSERT_NO_EXCEPTION(RunTest(10, 1000, 2, TRunSettings{ - .PkOverlap = false, - .IndexOverlap = false, - .WithDataColumn = false, - .UseNewEngine = true - })); - }*/ - - void RunOnlineBuildTest(bool withDataColumn, bool useNewEngine) { + void RunOnlineBuildTest(bool withDataColumn) { TKikimrWithGrpcAndRootSchema server; ui16 grpc = server.GetPort(); @@ -214,7 +153,7 @@ Y_UNIT_TEST_SUITE(YdbIndexTable) { ui32 stms = IWorkLoader::LC_UPSERT | (withDataColumn ? IWorkLoader::LC_ALTER_ADD_INDEX_WITH_DATA_COLUMN : IWorkLoader::LC_ALTER_ADD_INDEX); - workLoader->Run("Root/Test", stms, IWorkLoader::TRunSettings{2000, 1, useNewEngine}); + workLoader->Run("Root/Test", stms, IWorkLoader::TRunSettings{2000, 1}); auto checker = CreateChecker(driver); checker->Run("Root/Test"); driver.Stop(true); @@ -225,19 +164,10 @@ Y_UNIT_TEST_SUITE(YdbIndexTable) { } Y_UNIT_TEST(OnlineBuild) { - RunOnlineBuildTest(false, false); + RunOnlineBuildTest(false); } Y_UNIT_TEST(OnlineBuildWithDataColumn) { - RunOnlineBuildTest(true, false); - } - - Y_UNIT_TEST(OnlineBuildNewEngine) { - RunOnlineBuildTest(false, true); - } - - Y_UNIT_TEST(OnlineBuildWithDataColumnNewEngine) { - RunOnlineBuildTest(true, true); + RunOnlineBuildTest(true); } - } diff --git a/ydb/tests/functional/api/test_isolation.py b/ydb/tests/functional/api/test_isolation.py index 7bb6ec1d87..0b4cacecad 100644 --- a/ydb/tests/functional/api/test_isolation.py +++ b/ydb/tests/functional/api/test_isolation.py @@ -40,10 +40,6 @@ class TestTransactionIsolation(object): 'upsert into %s (id, value) values (1, 10), (2, 20); ' % table, commit_tx=True) return table, session - @staticmethod - def _prepare_engine(): - return 'pragma kikimr.UseNewEngine = "true";' - def test_prevents_write_cycles_g0(self): """Write Cycles (G0), locking updated rows""" table_name, session = self._prepare("test_prevents_write_cycles_g0") @@ -51,7 +47,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' t1.execute('{} upsert into {} (id, value) values (1, 11)'.format(prefix, table_name)) t2.execute('{} select * from {} where id=1 or id=2;'.format(prefix, table_name)) @@ -100,7 +96,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' t1.execute('{} update {} set value = 101 where id = 1;'.format(prefix, table_name)) result_rows = t2.execute('{} select id, value from {} order by id;'.format(prefix, table_name)) @@ -134,7 +130,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' t1.execute('{} select * from {} where id=1'.format(prefix, table_name)) t1.execute('{} upsert into {} (id, value) values (1, 101);'.format(prefix, table_name)) @@ -170,7 +166,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' t1.execute(session.prepare('{} upsert into {} (id, value) values (1, 3);'.format(prefix, table_name)), commit_tx=True) @@ -207,7 +203,7 @@ class TestTransactionIsolation(object): t2 = session.transaction() t3 = session.transaction() - prefix = self._prepare_engine() + prefix = '' t1.execute('{} select * from {} where id=1 or id=2;'.format(prefix, table_name)) t1.execute('{} upsert into {} (id, value) values (1, 11);'.format(prefix, table_name)) @@ -266,7 +262,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' result_rows = t1.execute('{} select id from {} where value = 30;'.format(prefix, table_name)) assert_that(result_rows[0].rows, equal_to([])) @@ -288,7 +284,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' result_rows = t1.execute('{} select id from {} where id = 1;'.format(prefix, table_name)) assert_that( @@ -326,7 +322,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' result_rows = t1.execute('{} select id, value from {} where id = 1;'.format(prefix, table_name)) assert_that( @@ -369,7 +365,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' result_rows = t1.execute('{} select id, value from {} where id = 1;'.format(prefix, table_name)) assert_that( @@ -410,7 +406,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' result_rows = t1.execute('{} select value from {} where id = 1;'.format(prefix, table_name)) assert_that( @@ -461,7 +457,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' t1.execute('{} select value from {} where value % 5 = 0;'.format(prefix, table_name)) t2.execute('{} update {} set value = 12 where value = 10;'.format(prefix, table_name)) @@ -482,7 +478,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' result_rows = t1.execute('{} select value from {} where id = 1;'.format(prefix, table_name)) assert_that( @@ -516,7 +512,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' t1.execute('{} select value from {} where id in (1,2);'.format(prefix, table_name)) t2.execute('{} select value from {} where id in (1,2);'.format(prefix, table_name)) @@ -541,7 +537,7 @@ class TestTransactionIsolation(object): t1 = session.transaction() t2 = session.transaction() - prefix = self._prepare_engine() + prefix = '' t1.execute('{} select value from {} where value % 3 = 0;'.format(prefix, table_name)) t2.execute('{} select value from {} where value % 3 = 0;'.format(prefix, table_name)) @@ -569,7 +565,7 @@ class TestTransactionIsolation(object): t2 = session.transaction() t3 = session.transaction() - prefix = self._prepare_engine() + prefix = '' result_rows = t1.execute('{} select id, value from {};'.format(prefix, table_name)) assert_that( diff --git a/ydb/tests/functional/canonical/sql/explain.script b/ydb/tests/functional/canonical/sql/explain.script index 74d5722adb..fa3bc6df80 100644 --- a/ydb/tests/functional/canonical/sql/explain.script +++ b/ydb/tests/functional/canonical/sql/explain.script @@ -1,5 +1,4 @@ --!syntax_v1 -PRAGMA Kikimr.UseNewEngine = "true"; CREATE TABLE ScriptingTest ( Key Uint64, Value String, @@ -7,35 +6,29 @@ CREATE TABLE ScriptingTest ( ); COMMIT; -PRAGMA Kikimr.UseNewEngine = "false"; REPLACE INTO ScriptingTest (Key, Value) VALUES (1, "One"), (2, "Two"); COMMIT; -PRAGMA Kikimr.UseNewEngine = "true"; REPLACE INTO ScriptingTest (Key, Value) VALUES (3, "Three"), (4, "Four"); COMMIT; PRAGMA kikimr.ScanQuery = "true"; -PRAGMA Kikimr.UseNewEngine = "true"; SELECT count(*) FROM ScriptingTest; COMMIT; PRAGMA kikimr.ScanQuery = "false"; -PRAGMA Kikimr.UseNewEngine = "true"; SELECT count(*) FROM ScriptingTest; COMMIT; PRAGMA kikimr.ScanQuery = "true"; -PRAGMA Kikimr.UseNewEngine = "false"; SELECT count(*) FROM ScriptingTest; COMMIT; PRAGMA kikimr.ScanQuery = "false"; -PRAGMA Kikimr.UseNewEngine = "false"; SELECT count(*) FROM ScriptingTest; COMMIT; @@ -45,4 +38,4 @@ COMMIT; PRAGMA kikimr.ScanQuery = "false"; SELECT 1*2*3*4*5; -COMMIT;
\ No newline at end of file +COMMIT; diff --git a/ydb/tests/functional/canonical/test_sql.py b/ydb/tests/functional/canonical/test_sql.py index 966d8b5c3c..91b615c122 100644 --- a/ydb/tests/functional/canonical/test_sql.py +++ b/ydb/tests/functional/canonical/test_sql.py @@ -128,8 +128,6 @@ class BaseCanonicalTest(object): query_parts.pop(0) is_v1 = True - query_parts = ["PRAGMA Kikimr.UseNewEngine=\"True\";"] + query_parts - query_parts = ["PRAGMA TablePathPrefix=\"{}\";".format(cls.prefix)] + query_parts if is_v1: query_parts = ['--!syntax_v1'] + query_parts diff --git a/ydb/tests/functional/rename/test.py b/ydb/tests/functional/rename/test.py index 751d1382ad..01f5e421b8 100644 --- a/ydb/tests/functional/rename/test.py +++ b/ydb/tests/functional/rename/test.py @@ -141,7 +141,6 @@ class Simple: upsert_table_template = ( """ - PRAGMA Kikimr.UseNewEngine="True"; DECLARE $key AS Uint64; DECLARE $value AS Utf8; @@ -153,7 +152,6 @@ class Simple: select_table_template = ( """ - PRAGMA Kikimr.UseNewEngine="True"; DECLARE $key AS Uint64; SELECT value FROM `{table}` WHERE id = $key; """ @@ -161,7 +159,6 @@ class Simple: select_index_table_template = ( """ - PRAGMA Kikimr.UseNewEngine="True"; DECLARE $value AS Utf8; SELECT id FROM `{table}` VIEW `value_index` WHERE value = $value; """ diff --git a/ydb/tests/functional/serverless/test.py b/ydb/tests/functional/serverless/test.py index eece71a741..55fc623b1b 100644 --- a/ydb/tests/functional/serverless/test.py +++ b/ydb/tests/functional/serverless/test.py @@ -63,7 +63,6 @@ def test_create_table(ydb_hostel_db, ydb_serverless_db, ydb_endpoint, metering_f def write_some_data(session, path): session.transaction().execute( """ - PRAGMA Kikimr.UseNewEngine="True"; UPSERT INTO `{}` (id, value_string, value_num) VALUES (1u, "Ok", 0u), (2u, "Also_Ok", 0u), @@ -119,7 +118,6 @@ def test_turn_on_serverless_storage_billing(ydb_hostel_db, ydb_serverless_db, yd def write_some_data(session, path): session.transaction().execute( """ - PRAGMA Kikimr.UseNewEngine="True"; UPSERT INTO `{}` (id, value_string, value_num) VALUES (1u, "Ok", 0u), (2u, "Also_Ok", 0u), @@ -306,7 +304,6 @@ def test_database_with_disk_quotas(ydb_hostel_db, ydb_disk_quoted_serverless_db, try: with (yield async_session()) as session: query = yield session.async_prepare('''\ - PRAGMA Kikimr.UseNewEngine="True"; DECLARE $key AS Uint64; DECLARE $value AS Utf8; @@ -330,7 +327,6 @@ def test_database_with_disk_quotas(ydb_hostel_db, ydb_disk_quoted_serverless_db, def async_erase_key(path, key): with (yield async_session()) as session: query = yield session.async_prepare('''\ - PRAGMA Kikimr.UseNewEngine="True"; DECLARE $key AS Uint64; DELETE FROM `{path}` WHERE id = $key; diff --git a/ydb/tests/functional/suite_tests/canondata/test_stream_query.TestStreamQuery.test_sql_suite_results-window.test_/window.test.out b/ydb/tests/functional/suite_tests/canondata/test_stream_query.TestStreamQuery.test_sql_suite_results-window.test_/window.test.out index 5f783e7674..a119b3b90e 100644 --- a/ydb/tests/functional/suite_tests/canondata/test_stream_query.TestStreamQuery.test_sql_suite_results-window.test_/window.test.out +++ b/ydb/tests/functional/suite_tests/canondata/test_stream_query.TestStreamQuery.test_sql_suite_results-window.test_/window.test.out @@ -1,5 +1,4 @@ --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT depname, empno, salary, sum(salary) OVER w FROM empsalary WINDOW w AS (PARTITION BY depname) ORDER BY depname, salary; @@ -20,7 +19,6 @@ SELECT depname, empno, salary, sum(salary) OVER w FROM empsalary WINDOW w AS (PA --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT depname, empno, salary, rank() OVER w FROM empsalary WINDOW w AS (PARTITION BY depname ORDER BY salary); @@ -41,7 +39,6 @@ SELECT depname, empno, salary, rank() OVER w FROM empsalary WINDOW w AS (PARTITI --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT four, ten, SUM(SUM(four)) OVER w, AVG(ten) FROM tenk1 @@ -73,7 +70,6 @@ GROUP BY four, ten WINDOW w AS (PARTITION BY four) ORDER BY four, ten; --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT depname, empno, salary, sum(salary) OVER w FROM empsalary WINDOW w AS (PARTITION BY depname); @@ -94,7 +90,6 @@ SELECT depname, empno, salary, sum(salary) OVER w FROM empsalary WINDOW w AS (PA --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT depname, empno, salary, rank() OVER w AS r FROM empsalary WINDOW w AS (PARTITION BY depname ORDER BY salary) ORDER BY r; @@ -115,7 +110,6 @@ SELECT depname, empno, salary, rank() OVER w AS r FROM empsalary WINDOW w AS (PA --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT COUNT(*) OVER w FROM tenk1 WHERE unique2 < 10 WINDOW w AS (); @@ -136,7 +130,6 @@ SELECT COUNT(*) OVER w FROM tenk1 WHERE unique2 < 10 WINDOW w AS (); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT four FROM tenk1 WHERE FALSE WINDOW w AS (PARTITION BY ten); @@ -145,7 +138,6 @@ SELECT four FROM tenk1 WHERE FALSE WINDOW w AS (PARTITION BY ten); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT sum(four) OVER w AS sum_1, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PARTITION BY ten ORDER BY unique2); @@ -166,7 +158,6 @@ SELECT sum(four) OVER w AS sum_1, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT row_number() OVER w FROM tenk1 WHERE unique2 < 10 WINDOW w AS (ORDER BY unique2); @@ -187,7 +178,6 @@ SELECT row_number() OVER w FROM tenk1 WHERE unique2 < 10 WINDOW w AS (ORDER BY u --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT rank() OVER w AS rank_1, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PARTITION BY four ORDER BY ten); @@ -208,7 +198,6 @@ SELECT rank() OVER w AS rank_1, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT dense_rank() OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PARTITION BY four ORDER BY ten); @@ -229,7 +218,6 @@ SELECT dense_rank() OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT lag(ten) OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PARTITION BY four ORDER BY ten); @@ -250,7 +238,6 @@ SELECT lag(ten) OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PAR --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT lead(ten) OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PARTITION BY four ORDER BY ten); @@ -271,7 +258,6 @@ SELECT lead(ten) OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PA --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT lead(ten * 2, 1) OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PARTITION BY four ORDER BY ten); @@ -292,7 +278,6 @@ SELECT lead(ten * 2, 1) OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT first_value(ten) OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PARTITION BY four ORDER BY ten); @@ -313,7 +298,6 @@ SELECT first_value(ten) OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT last_value(four) OVER w, last_value(four) OVER w, ten, four FROM tenk1 WHERE unique2 < 10 WINDOW w AS (ORDER BY ten); @@ -334,7 +318,6 @@ SELECT last_value(four) OVER w, last_value(four) OVER w, ten, four FROM tenk1 WH --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT last_value(ten) OVER w, ten, four FROM @@ -358,7 +341,6 @@ ORDER BY four, ten; --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT ten, two, sum(hundred) AS gsum, sum(sum(hundred)) OVER w AS wsum @@ -380,7 +362,6 @@ FROM tenk1 GROUP BY ten, two WINDOW w AS (PARTITION BY two ORDER BY ten); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT count(*) OVER w, four FROM (SELECT * FROM tenk1 WHERE two = 1) WHERE unique2 < 10 WINDOW w AS (PARTITION BY four); @@ -397,7 +378,6 @@ SELECT count(*) OVER w, four FROM (SELECT * FROM tenk1 WHERE two = 1) WHERE uniq --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT (count(*) OVER w + sum(hundred) OVER w) AS cntsum @@ -420,7 +400,6 @@ WINDOW w AS (PARTITION BY four ORDER BY ten); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT * FROM( @@ -437,7 +416,6 @@ WHERE total <> fourcount + twosum; --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT avg(four) OVER w FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PARTITION BY four ORDER BY thousand / 100); @@ -458,7 +436,6 @@ SELECT avg(four) OVER w FROM tenk1 WHERE unique2 < 10 WINDOW w AS (PARTITION BY --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT ten, two, sum(hundred) AS gsum, sum(sum(hundred)) OVER win AS wsum @@ -480,7 +457,6 @@ FROM tenk1 GROUP BY ten, two WINDOW win AS (PARTITION BY two ORDER BY ten); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT sum(salary), @@ -498,7 +474,6 @@ WINDOW w1 AS (ORDER BY depname), w2 AS (ORDER BY depname DESC); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT sum(salary) OVER w1, count(*) OVER w2 @@ -520,7 +495,6 @@ FROM empsalary WINDOW w1 AS (ORDER BY salary), w2 AS (ORDER BY salary); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT count(*) OVER w FROM (SELECT * FROM tenk1 WHERE FALSE) WINDOW w AS (PARTITION BY four); @@ -529,7 +503,6 @@ SELECT count(*) OVER w FROM (SELECT * FROM tenk1 WHERE FALSE) WINDOW w AS (PARTI --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT sum(salary) OVER w, rank() OVER w FROM empsalary WINDOW w AS (PARTITION BY depname ORDER BY salary DESC); @@ -550,7 +523,6 @@ SELECT sum(salary) OVER w, rank() OVER w FROM empsalary WINDOW w AS (PARTITION B --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT empno, depname, salary, bonus, depadj, MIN(bonus) OVER w, MAX(depadj) OVER w FROM( @@ -582,7 +554,6 @@ WINDOW w AS (ORDER BY empno); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT SUM(COUNT(f1)) OVER w FROM int4_tbl WHERE f1=42 WINDOW w AS (); @@ -594,7 +565,6 @@ SELECT SUM(COUNT(f1)) OVER w FROM int4_tbl WHERE f1=42 WINDOW w AS (); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; select ten, @@ -621,7 +591,6 @@ order by ten; --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; select first_value(max(x)) over w, y @@ -642,7 +611,6 @@ select first_value(max(x)) over w, y --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT four, ten, @@ -677,7 +645,6 @@ WINDOW w AS (partition by four order by ten); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT four, ten/4 as two, @@ -712,7 +679,6 @@ WINDOW w AS (partition by four order by ten/4 rows between unbounded preceding a --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT sum(unique1) over w, @@ -736,7 +702,6 @@ WINDOW w AS (rows between current row and unbounded following); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT sum(unique1) over w, @@ -760,7 +725,6 @@ WINDOW w AS (rows between 2 preceding and 2 following); --!syntax_v1 -PRAGMA Kikimr.UseNewEngine="True"; pragma TablePathPrefix = "/Root/stream_query_window.test_results"; pragma SimpleColumns; SELECT sum(unique1) over w, diff --git a/ydb/tests/functional/suite_tests/test_base.py b/ydb/tests/functional/suite_tests/test_base.py index a2357e2cf6..e95c3d7dd5 100644 --- a/ydb/tests/functional/suite_tests/test_base.py +++ b/ydb/tests/functional/suite_tests/test_base.py @@ -173,7 +173,7 @@ def format_yql_statement(lines_or_statement, table_path_prefix): if not isinstance(lines_or_statement, list): lines_or_statement = [lines_or_statement] statement = "\n".join( - ["PRAGMA Kikimr.UseNewEngine=\"True\";", 'pragma TablePathPrefix = "%s";' % table_path_prefix, "pragma SimpleColumns;"] + lines_or_statement) + ['pragma TablePathPrefix = "%s";' % table_path_prefix, "pragma SimpleColumns;"] + lines_or_statement) return statement diff --git a/ydb/tests/tools/ydb_serializable/__main__.py b/ydb/tests/tools/ydb_serializable/__main__.py index 47dc68f64f..9f107cacde 100644 --- a/ydb/tests/tools/ydb_serializable/__main__.py +++ b/ydb/tests/tools/ydb_serializable/__main__.py @@ -32,7 +32,6 @@ def main(): parser.add_argument('--rt-snapshot', dest='read_table_snapshot', action='store_true', default=None, help='Use server-side snapshots for read-table transactions') parser.add_argument('--ignore-rt', dest='ignore_read_table', action='store_true', help='Ignore read-table results (e.g. for interference only, legacy option)') parser.add_argument('--processes', type=int, default=1, help='Number of processes to fork into, default is 1') - parser.add_argument('--new-engine', dest='force_new_engine', action='store_true', default=False, help='Force NewEngine') args = parser.parse_args() logger = DummyLogger() @@ -49,7 +48,6 @@ def main(): options.read_table_ranges = args.read_table_ranges options.ignore_read_table = args.ignore_read_table options.read_table_snapshot = args.read_table_snapshot - options.force_new_engine = args.force_new_engine def run_single(): def handler(signum, frame, sys=sys, logger=logger): diff --git a/ydb/tests/tools/ydb_serializable/lib/__init__.py b/ydb/tests/tools/ydb_serializable/lib/__init__.py index 1ffc67c796..4816864dc6 100644 --- a/ydb/tests/tools/ydb_serializable/lib/__init__.py +++ b/ydb/tests/tools/ydb_serializable/lib/__init__.py @@ -13,7 +13,6 @@ KEY_PREFIX_TYPE = ydb.TupleType().add_element(ydb.OptionalType(ydb.PrimitiveType QUERY_POINT_READS = '''\ --!syntax_v1 -{FORCE_NEW_ENGINE} DECLARE $data AS List<Struct< key: Uint64>>; @@ -26,7 +25,6 @@ INNER JOIN `{TABLE}` AS t ON t.key = d.key; QUERY_POINT_WRITES = '''\ --!syntax_v1 -{FORCE_NEW_ENGINE} DECLARE $data AS List<Struct< key: Uint64, @@ -40,7 +38,6 @@ FROM AS_TABLE($data); QUERY_POINT_READS_WRITES = '''\ --!syntax_v1 -{FORCE_NEW_ENGINE} DECLARE $reads AS List<Struct< key: Uint64>>; @@ -60,7 +57,6 @@ FROM AS_TABLE($writes); QUERY_RANGE_READS = '''\ --!syntax_v1 -{FORCE_NEW_ENGINE} DECLARE $minKey AS Uint64; DECLARE $maxKey AS Uint64; @@ -71,10 +67,6 @@ WHERE key >= $minKey AND key <= $maxKey; ''' -def new_engine_pragma(force_new_engine): - return 'PRAGMA Kikimr.UseNewEngine = "true";' if force_new_engine else '' - - def generate_random_name(cnt=20): return ''.join( random.choice('abcdefghijklmnopqrstuvwxyz') @@ -246,7 +238,6 @@ class DatabaseCheckerOptions(object): self.read_table_ranges = False self.ignore_read_table = False self.read_table_snapshot = None - self.force_new_engine = False class DatabaseChecker(object): @@ -313,7 +304,7 @@ class DatabaseChecker(object): def async_perform_point_reads(self, history, table, options, checker, deadline): with (yield self.async_session()) as session: read_query = yield session.async_prepare(QUERY_POINT_READS.format( - TABLE=table, FORCE_NEW_ENGINE=new_engine_pragma(options.force_new_engine))) + TABLE=table)) while time.time() < deadline: keys = checker.select_read_from_write_keys(cnt=random.randint(1, options.shards)) @@ -359,7 +350,7 @@ class DatabaseChecker(object): def async_perform_point_writes(self, history, table, options, checker, deadline): with (yield self.async_session()) as session: write_query = yield session.async_prepare(QUERY_POINT_WRITES.format( - TABLE=table, FORCE_NEW_ENGINE=new_engine_pragma(options.force_new_engine))) + TABLE=table)) while time.time() < deadline: keys = checker.select_write_keys(cnt=random.randint(1, options.shards)) @@ -399,11 +390,11 @@ class DatabaseChecker(object): def async_perform_point_reads_writes(self, history, table, options, checker, deadline, keysets): with (yield self.async_session()) as session: read_query = yield session.async_prepare(QUERY_POINT_READS.format( - TABLE=table, FORCE_NEW_ENGINE=new_engine_pragma(options.force_new_engine))) + TABLE=table)) write_query = yield session.async_prepare(QUERY_POINT_WRITES.format( - TABLE=table, FORCE_NEW_ENGINE=new_engine_pragma(options.force_new_engine))) + TABLE=table)) read_write_query = yield session.async_prepare(QUERY_POINT_READS_WRITES.format( - TABLE=table, FORCE_NEW_ENGINE=new_engine_pragma(options.force_new_engine))) + TABLE=table)) while time.time() < deadline: read_keys = checker.select_read_keys(cnt=random.randint(1, options.shards)) @@ -474,7 +465,7 @@ class DatabaseChecker(object): def async_perform_verifying_reads(self, history, table, options, checker, deadline, keysets): with (yield self.async_session()) as session: read_query = yield session.async_prepare(QUERY_POINT_READS.format( - TABLE=table, FORCE_NEW_ENGINE=new_engine_pragma(options.force_new_engine))) + TABLE=table)) while time.time() < deadline: if not keysets: @@ -521,7 +512,7 @@ class DatabaseChecker(object): def async_perform_range_reads(self, history, table, options, checker, deadline): with (yield self.async_session()) as session: range_query = yield session.async_prepare(QUERY_RANGE_READS.format( - TABLE=table, FORCE_NEW_ENGINE=new_engine_pragma(options.force_new_engine))) + TABLE=table)) while time.time() < deadline: min_key = random.randint(0, options.keys) |