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

   ### What changes were proposed in this pull request?
   
   Add a design document for the Table Maintenance Service as an in-process 
plugin on the main Gravitino server.
   
   The proposal colocates Iceberg REST with the main server. The IRC 
post-commit hook inserts one `table_maintenance_event` row per commit and 
invokes an in-process callback. TMS claims `table_maintenance_state` per 
`(table, policy)`, applies in-flight and minimum-interval gates, and submits 
maintenance jobs through the existing optimizer `Recommender` and 
`JobSubmitter`. Seven ops APIs under `/api/maintenance/table/ops/...` replace 
the `gravitino-optimizer` CLI commands.
   
   ### Why are the changes needed?
   
   Table maintenance execution already lives in `maintenance/optimizer`, but it 
is driven by local CLI commands. There is no server-side path that reacts to an 
Iceberg commit, and operators have to schedule maintenance outside Gravitino.
   
   This document records the agreed design before implementation: in-process 
delivery, per-policy claim, an insert-only commit log, `job_id` / `last_job_id` 
for in-flight versus last finished job, and the ops APIs that replace the CLI.
   
   Related discussion: #11851. This design does not introduce a separate 
long-running optimizer service, so it does not close that issue.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. This pull request only adds a design document. It does not change APIs, 
configuration, or runtime behavior.
   
   ### How was this patch tested?
   
   Documentation only. No code or tests are included.
   
   
   Made with [Cursor](https://cursor.com)


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