nevzheng opened a new pull request, #12265:
URL: https://github.com/apache/gravitino/pull/12265

   ### What changes were proposed in this pull request?
   
   This is Stack 30, PR 8 of 8.
   
   - Schedule coordinator ticks through the existing `IcebergCleanupManager` 
executor.
   - Use two scheduled threads so remote context discovery cannot starve job 
heartbeats.
   - Construct the collector only when V2 soft delete is enabled.
   - Keep registration cleanup and workers available to drain existing 
`PURGING` jobs.
   - Preserve lifecycle-aware reads when V2 is disabled so retained names 
remain hidden and reserved.
   - Reject legacy DELETE against an existing retained generation.
   - Stop cleanup workers before closing their catalog-wrapper dependency.
   
   After this PR, expired retained deletions flow automatically through the 
existing durable runtime while V1 and V2 jobs coexist.
   
   ### Why are the changes needed?
   
   The preceding layers are directly invocable. This final layer activates them 
without adding Quartz, another queue, leader election, or saga orchestration.
   
   Part of #12258.
   
   ### Does this PR introduce _any_ user-facing change?
   
   If V2 is disabled after use, existing retained names remain hidden and 
reserved while new deletions retain V1 behavior.
   
   ### How was this patch tested?
   
   Test coverage is included for recurring-task recovery, shutdown order, 
feature-off reservation, legacy routing, V2 job draining, and dependency 
validation.
   
   No post-rebase local test run was performed; CI validation is pending.
   


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

Reply via email to