laserninja opened a new pull request, #13717: URL: https://github.com/apache/gravitino/pull/13717
### What changes were proposed in this pull request? Add `builtin-iceberg-update-manifest-stats`, a dedicated Spark job that collects `custom-manifest-number-by-spec` and `custom-avg-manifest-size-by-spec` for one resolved partition spec from one snapshot. Publish both measurements using the atomic merge API from #13532, preserving other specs. Add a helper for reading complete measurements and document job submission. Depends on #13532. The collector-only change is 9 files, +921/-3. Opening this PR before #13532 merges would include the API commit in GitHub's default diff; the [collector-only comparison](https://github.com/laserninja/gravitino/compare/feat/11196-manifest-statistics...feat/11196-manifest-statistics-collector) remains available for review. ### Why are the changes needed? Provide the manifest measurements required by #11196 and design #12942, including empty tables and missing statistics. This is part 2 of the split from #13532; automatic policy triggering remains separate. ### Does this PR introduce _any_ user-facing change? Adds the new built-in template with optional `spec_id` and the two per-spec measurements. Empty collections publish zeros; missing measurements require collection. Missing Iceberg runtime classes produce an actionable error. Concurrent collectors must use the same Gravitino server. ### How was this patch tested? - Passed 217 maintenance jobs tests, 18 optimizer API tests, and 234 optimizer tests; five Docker tests were skipped. - Coverage includes Spark partition evolution, empty/missing measurements, the missing-runtime subprocess regression, and resolution of optional template parameters on current `main`. - Formatting, jobs Javadocs, `:docs:build`, `rat`, and `git diff --check` passed. -- 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]
