deardeng commented on code in PR #65836:
URL: https://github.com/apache/doris/pull/65836#discussion_r3629225846


##########
fe/fe-core/src/main/java/org/apache/doris/catalog/TableProperty.java:
##########
@@ -678,10 +682,23 @@ public TableProperty 
buildInvertedIndexFileStorageFormat() {
     }
 
     public void modifyTableProperties(Map<String, String> modifyProperties) {
+        // Compatibility note: ModifyTablePropertyOperationLog persists only 
properties to set, not keys removed
+        // here. Keep its payload unchanged for this legacy repair. During a 
rolling FE upgrade, alter these
+        // properties on a table that already contains both legacy keys only 
after all FEs have been upgraded;
+        // otherwise old and new FEs may apply different effective replica 
settings.
+        removeConflictingDefaultReplicaProperty(modifyProperties);

Review Comment:
     > Thanks for pointing this out. We intentionally do not extend the 
persistence protocol for this corner case in this PR.
     >
     > The issue requires several conditions to occur together:
     >
     > 1. The table contains both conflicting replica properties from 
historical metadata.
     > 2. The relevant replica property is altered during the short 
mixed-version FE upgrade window.
     > 3. An incompatible leader/follower combination or failover occurs before 
the FE upgrade completes.
     >
     > Doris’ supported rolling-upgrade procedure requires upgrading non-Master 
FEs first and the Master last. For affected legacy tables, the relevant ALTER 
should be executed after all FEs have completed the upgrade. This restriction 
is now documented next to the mutation
     > logic.
     >
     > Making the removal understandable to pre-change FEs would require 
journal protocol evolution, capability/version gating, or a staged 
multi-release migration. That would significantly increase the scope and risk 
of this focused bug fix for a very low-probability upgrade
     > corner case.
     >
     > This PR therefore deliberately keeps the persisted log format unchanged, 
fixes the behavior for homogeneous upgraded clusters, and documents the 
mixed-version operational restriction. We consider this an accepted upgrade 
limitation rather than a blocker for this PR.



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