github-actions[bot] commented on code in PR #68837:
URL: https://github.com/apache/doris/pull/68837#discussion_r4254339995
##########
fe/fe-core/src/main/java/org/apache/doris/nereids/NereidsPlanner.java:
##########
@@ -143,6 +143,7 @@ public NereidsPlanner(StatementContext statementContext) {
@Override
public void plan(StatementBase queryStmt,
org.apache.doris.thrift.TQueryOptions queryOptions) throws UserException {
+
statementContext.initializeBeExecVersion(queryOptions.getBeExecVersion());
Review Comment:
[P2] Reuse the pinned version when replanning the same statement
Automatic cloud replanning reuses the same StatementContext:
StmtExecutor.executeWithReplanRetries clears the planner/coordinator, and
parseByNereids returns for the retained parsedStmt. Each new planner.plan call
nevertheless receives SessionVariable.toThrift(), which samples the mutable
Config.be_exec_version again. If an attempt pins 13, receives a retryable E-230
error, and an operator raises the setting to 16 before the retry, this call
throws "already pinned to 13, cannot change it to 16" before analysis, even
with all BEs able to execute both versions. Reuse the statement's pinned value
in the retry's TQueryOptions so feature admission and dispatch retain that
snapshot.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]