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


##########
fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java:
##########
@@ -2664,7 +2679,12 @@ public int getAsInt() {
                         lightIndexChange, buildIndexChange, indexSchemaMap);
             }
 
-            if (olapTable.hasChangelog() && !(lightSchemaChange || 
lightIndexChange)) {
+            // The light index change path only publishes the new schema and 
submits index delete jobs. When a
+            // clause also needs a heavy schema change, the whole statement 
runs as a heavy schema change job,
+            // which applies the index changes as well.
+            boolean useLightIndexChange = Config.enable_light_index_change && 
lightIndexChange
+                    && !requiresHeavyChange;
+            if (olapTable.hasChangelog() && !(lightSchemaChange || 
useLightIndexChange)) {

Review Comment:
   [P2] Preserve bloom-filter metadata when rejecting a mixed ALTER
   
   On a local changelog DUPLICATE KEY table with `bloom_filter_columns='v1'`, 
an inverted `idx_v3(v3)`, and `enable_add_index_for_new_data=false`, `ALTER 
TABLE t DROP COLUMN v1, ADD INDEX bf_v2(v2) USING BLOOMFILTER, DROP INDEX 
idx_v3` now hits this exception. However, `processDropColumn()` has already 
called `olapTable.setBloomFilterInfo(...)` on the live table, and the exception 
only unlocks it. The rejected ALTER therefore leaves `v1` and `idx_v3` present 
but silently removes `v1` from the bloom-filter configuration without a job or 
journal entry, so followers retain different metadata. Stage these metadata 
updates until validation succeeds, or restore them when the statement is 
rejected.



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