wyxxxcat opened a new pull request, #69329: URL: https://github.com/apache/doris/pull/69329
### What problem does this PR solve? Problem Summary: Tablet recycling and rowset recycling can cache the same recycle marker. After one worker releases the reference, another worker may process its stale task and delete files still referenced by a clone instance. Unify reference release through dereference_rowset. Revalidate the current marker and matching source metadata, and atomically commit marker consumption, reference count changes, and source metadata removal. For the last reference, persist REFERENCE_RELEASED with a zero reference count before deleting files. Preserve the marker until deletion succeeds so retries do not release the reference again. Prevent operation log recycling from recreating consumed tasks or overwriting existing state. All Recycler workers must support the new state before it is written. ### Release note Fix possible data loss when tablet and rowset recycling process the same shared rowset. ### Check List (For Author) - Test: Unit tests added for duplicate processing and retry scenarios; not run as requested. - Behavior changed: Yes. Reference release is deduplicated, and physical deletion follows a committed last-reference state. - Does this need documentation: No -- 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]
