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]

Reply via email to