laserninja opened a new pull request, #13531: URL: https://github.com/apache/gravitino/pull/13531
### What changes were proposed in this pull request? Add `system_iceberg_orphan_file_removal` policy content, REST serialization, a table-level strategy handler, and an adapter for the existing cleanup job from #13153. Enabled policies selected through tags can now submit orphan cleanup jobs through the optimizer, including for partitioned tables without partition statistics. Convert retention days to an explicit UTC cutoff and validate custom scan locations before submission. Reuse the job's lexical containment checks; filesystem validation remains in the Spark job. Document policy configuration and add the Iceberg catalog build prerequisites for optimizer integration tests. ### Why are the changes needed? #13153 provided direct job submission. This completes the policy-to-strategy-to-adapter integration specified in #11700. Fix: #11195 ### Does this PR introduce _any_ user-facing change? Yes. The new policy accepts `olderThanDays` (default 3, minimum 1), optional `location`, and `dryRun` (default false). Register the orphan strategy handler in optimizer configuration. Each explicit optimizer invocation makes an enabled, selected policy eligible; periodic scheduling and minimum run intervals remain separate work. ### How was this patch tested? With JDK 17: - API, common, optimizer API, optimizer, and jobs module `check` tasks passed: 1,174 tests passed and 6 skipped. - REST/tag integration passed for a partitioned table, including disabled-policy rejection and no submission. - Spark tests passed, including cutoff handling under a non-UTC session timezone. - OpenAPI validation (`:docs:build`), Javadoc generation, `rat`, and diff whitespace checks passed. Javadocs report existing warnings in unchanged code. -- 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]
