lasdf1234 opened a new pull request, #13774: URL: https://github.com/apache/gravitino/pull/13774
### What changes were proposed in this pull request? Depends on #13762. - Add db-scheduler dependency and three isolated pools (expand / cron / commit) over `scheduled_tasks` - `TableMaintenanceConfig` for pool threads, poll / heartbeat / missed-heartbeat, expand batch size - `TableMaintenanceRESTFeature` lifecycle (start/stop pools when `extensionPackages` enables TMS) - Occupancy helpers on `table_maintenance_job` (in-flight / last-finished / `shouldSkip` gates) - Occupancy reconcile that closes stale in-flight rows when `job_run_meta` is terminal or missing, without inventing metrics (`after_snapshot_id` stays null) **Out of scope:** PolicyExpand / Spark submit pipelines, IRC commit-job listener, in-job S0 sample / drift / recommend, four maintenance types, commit-chain OCC (follow-up subtasks under #13760). ### Why are the changes needed? Second subtask of Epic #13760: multi-node-safe scheduler foundation and occupancy control for the in-process Table Maintenance Service. Fix: #13773 ### Does this PR introduce _any_ user-facing change? Optional enablement via `gravitino.server.rest.extensionPackages = org.apache.gravitino.maintenance.web.rest.feature`. New config keys under `gravitino.maintenance.scheduler.*` / `gravitino.maintenance.expand.enqueueBatchSize`. No public REST resources in this change. ### How was this patch tested? ```bash ./gradlew :plugins:tms:spotlessApply :plugins:tms:test -PskipITs ``` 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]
