wyxxxcat opened a new pull request, #69523: URL: https://github.com/apache/doris/pull/69523
### What problem does this PR solve? Issue Number: N/A Problem Summary: Index existence checks rely on tablet metadata. When a committed index has no tablets, a stale prepare_index request can recreate its PREPARED recycle record, potentially causing tablets added later to be recycled. Write a tablet metadata placeholder when committing an index and retain it until index recycling. Check every requested index for existence. Represent missing tablet IDs with std::optional<int64_t>. Skip lazy transaction checks and object recycling for placeholders, while retaining their keys for metadata deletion. Use the same filtered tablet list for subsequent ID-dependent cleanup and batch queries. Update metadata checkers and recycling statistics to skip placeholders. ### Release note Fix incorrect recycling of committed cloud indexes that have no tablets. ### Check List (For Author) - Test: Unit tests added for empty-index idempotency and placeholder recycling; not run as requested - Behavior changed: Yes. Reject stale prepare_index requests for committed indexes without tablets - 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]
