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]