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

   ### What changes were proposed in this pull request?
   
   Split from #13801 (2/2). **Stack on #13885** (merge that first).
   
   Incremental scope (~1.5k vs #13885 ~1.1k):
   
   - Flat JSON mapping via `ExecutablePolicyContentSerde` + Iceberg 
`PolicyContentDTO` / `DTOConverters`
   - REST + `POConverters` round-trips for each executable built-in type
   - `MaintenancePolicyDefinitions` + per-type 
`gravitino.maintenance.*.minIntervalMs` + conf/docs
   
   Until #13885 merges, the GitHub file list includes domain files from the 
stack base; review the **second commit** / 
`common`+`core/maintenance`+`conf`+`docs` paths.
   
   ### Why are the changes needed?
   
   Preserve flat wire/persistence JSON without flattening Spec into every type; 
server defaults for omitted `minIntervalMs`.
   
   Fix: #13800
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes — optional JSON peer fields on Iceberg maintenance policy contents, and:
   
   - `gravitino.maintenance.compaction.minIntervalMs` (`3600000`)
   - `gravitino.maintenance.manifest-rewrite.minIntervalMs` (`3600000`)
   - `gravitino.maintenance.snapshot-expiry.minIntervalMs` (`3600000`)
   - `gravitino.maintenance.orphan-cleanup.minIntervalMs` (`86400000`)
   
   ### How was this patch tested?
   
   ```bash
   ./gradlew :common:test --tests 'org.apache.gravitino.dto.policy.*' \
     :core:test --tests 
'org.apache.gravitino.storage.relational.utils.TestPOConverters' \
     --tests 
'org.apache.gravitino.maintenance.policy.TestMaintenanceMinIntervalConfigs' \
     -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]

Reply via email to