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


##########
fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java:
##########
@@ -2272,10 +2276,12 @@ public Partition replacePartition(Partition 
newPartition,
         ReplicaAllocation replicaAlloc = 
partitionInfo.getReplicaAllocation(oldPartition.getId());
         boolean isInMemory = partitionInfo.getIsInMemory(oldPartition.getId());
         boolean isMutable = partitionInfo.getIsMutable(oldPartition.getId());
+        String storagePolicy = 
partitionInfo.getStoragePolicy(oldPartition.getId());

Review Comment:
   [P2] Preserve table-level policy cancellation on replay before capturing 
this value. With policy A on an empty table, `ALTER TABLE ... SET 
("storage_policy"="")` clears both partition fields on the master and sends 
policy ID 0 to its tablets. `Env.replayModifyTableProperty` rebuilds the empty 
table property but filters out the empty value for both partition fields, 
leaving A on a replayed FE. A non-force TRUNCATE then captures A here and 
installs it on the replacement ID, while the master created its replacement 
tablets without a policy; after failover the partition DDL advertises A. This 
is a different SQL operation and replay handler from the existing `MODIFY 
PARTITION` cancellation thread, so fixing `Alter.replayModifyPartition` alone 
will not fix it. Replay an explicit empty table policy to both partition fields 
and test cancellation followed by replay and truncate.



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