AntiTopQuark opened a new issue, #69079:
URL: https://github.com/apache/doris/issues/69079

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no 
similar issues.
   
   
   ### Version
   
   master
   
   ### What's Wrong?
   
   Extending ROW binlog TTL can miss replicas created by concurrent clone or 
repair tasks, resulting in irreversible, silent loss of binlog events.
   
   In the affected implementation, `updatePartitionProperties()` snapshots the 
existing replicas and releases the table lock before sending configuration 
updates. Final publication checks only whether partition IDs have changed. 
During this RPC window, `TabletScheduler` can add a new `CLONE` replica without 
changing any partition ID.
   
   `CloneTask` does not carry the target `BinlogConfig` or `configVersion`. The 
new replica loads the source snapshot’s `.hdr`, which may contain the old TTL. 
This installation path bypasses the generation check in 
`Tablet::set_binlog_config()`.
   
   For example, when extending TTL from **60 to 3600 seconds**, replicas A/B/C 
may acknowledge the new configuration while replica D loads a snapshot 
containing the old 60-second TTL. FE then publishes the 3600-second TTL, but D 
continues running TTL compaction with 60 seconds. Queries routed to D can 
silently omit events that should still be retained.
   
   ### What You Expected?
   
   A TTL extension should become visible to readers only after all relevant 
replicas, including those created or replaced during the update, have 
acknowledged the target configuration.
   
   Concurrent or delayed clone tasks must not install an outdated retention 
policy or overwrite a newer configuration.
   
   
   ### How to Reproduce?
   
   _No response_
   
   ### Anything Else?
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


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