github-actions[bot] commented on code in PR #63744:
URL: https://github.com/apache/doris/pull/63744#discussion_r3310130606


##########
fe/fe-core/src/main/java/org/apache/doris/qe/VariableMgr.java:
##########
@@ -127,6 +128,33 @@ public class VariableMgr {
     private static final Lock rlock = rwlock.readLock();
     private static final Lock wlock = rwlock.writeLock();
 
+    // Session variables that have been removed from SessionVariable.java but 
may still appear in
+    // user scripts, JDBC client connection init, or older replayed-edit logs. 
Looking up these
+    // names by SET or SELECT @@ silently no-ops instead of throwing 
ERR_UNKNOWN_SYSTEM_VARIABLE,
+    // so a BE-then-FE rolling upgrade does not break existing workloads. All 
entries in this set
+    // must use lowercase to match the case-insensitive comparison.
+    private static final ImmutableSet<String> REMOVED_SESSION_VAR_NAMES = 
ImmutableSet.of(
+            "enable_jdbc_oracle_null_predicate_push_down",
+            "use_v2_rollup",
+            "rewrite_count_distinct_to_bitmap_hll",
+            "enable_variant_access_in_original_planner",
+            "extract_wide_range_expr",
+            "auto_broadcast_join_threshold",
+            "runtime_filters_max_num",
+            "disable_inverted_index_v1_for_variant",
+            "enable_infer_predicate",
+            "limit_rows_for_single_instance",
+            "nereids_star_schema_support",
+            "enable_cbo_statistics",
+            "enable_eliminate_sort_node",
+            "drop_table_if_ctas_failed",
+            "trace_nereids",
+            "enable_sync_mv_cost_based_rewrite");
+
+    private static boolean isRemovedSessionVar(String varName) {
+        return varName != null && 
REMOVED_SESSION_VAR_NAMES.contains(varName.toLowerCase());
+    }
+
     // Form map from variable name to its field in Java class.
     static {

Review Comment:
   Removing this session variable breaks the JDBC Oracle NULL predicate 
pushdown path. `JdbcQueryBuilder` still reads 
`enable_jdbc_oracle_null_predicate_push_down` from the session properties map, 
but after this change `SET enable_jdbc_oracle_null_predicate_push_down=true` is 
silently ignored and `VariableMgr.toMap()` no longer includes the key, so 
`oracleNullPredicatePushDown` always falls back to `false`. Please keep this 
variable until the connector no longer depends on it, or replace it with 
another forwarded setting and update the connector at the same time.



-- 
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]

Reply via email to