hello-stephen opened a new pull request, #66005:
URL: https://github.com/apache/doris/pull/66005
### What problem does this PR solve?
During `MULTI_VERSION_WRITE_ONLY`, `commit_index` and `commit_partition`
write versioned
existence keys while reads still prefer legacy tablet metadata. If an
idempotency retry replays
`prepare_index` or `prepare_partition` after the corresponding commit but
before tablets are
created, the legacy existence check misses the committed object and
recreates a `PREPARED`
recycle marker. Recycler can later consume that stale marker and delete
active metadata.
### What is changed?
- Fall back to versioned index/partition existence keys when the legacy
check misses during
`MULTI_VERSION_WRITE_ONLY`.
- Apply the same existence check to duplicate commit handling.
- Add write-only tests covering `prepare -> commit -> replayed commit ->
replayed prepare` and
verify that no recycle marker is recreated.
### Check List
- [x] Code has been formatted with clang-format 16.
- [x] `git diff --check` passes.
- [ ] Cloud unit tests were not run locally because the full Cloud UT
third-party toolchain is
not installed in this workspace; the added tests are included for CI
execution.
--
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]