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

   ### What changes were proposed in this pull request?
   
   - Add `TableMaintenanceContent` base with optional peers: `schedule`, 
`minIntervalMs`, `jobOptions`, `updateOptions`
   - `MaintenanceTrigger` + `TableMaintenancePolicies` external validation (DTO 
/ `PolicyEntity` / `PolicyManager` create/alter)
   - Attach peers on the four built-in maintenance contents
   - REST/DTO/OpenAPI/docs round-trip for those fields
   - Placeholder rewrite-manifests / snapshot-expiration keep 
`trigger-expr=false`; peers may be stored but are not evaluated for enqueue yet
   
   Completes the peer-field work deferred by #13766 (BuiltInType placeholders 
under #13765).
   
   ### Why are the changes needed?
   
   TMS needs typed policy-content peers for scheduling and `runJob` option 
bags, without putting TMS fields into task-specific constructors.
   
   Fix: #13800
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Optional JSON fields on table-maintenance policy contents: `schedule`, 
`minIntervalMs`, `jobOptions`, `updateOptions`. Placeholder policy types remain 
creatable; peers on them are stored but do not enqueue until those types are 
fully wired.
   
   ### How was this patch tested?
   
   ```bash
   ./gradlew :api:test --tests 
'org.apache.gravitino.maintenance.policy.TestTableMaintenanceContent' \
     :common:test --tests 'org.apache.gravitino.dto.policy.TestPolicyDTO' \
     --tests 
'org.apache.gravitino.dto.policy.TestRewriteManifestsAndSnapshotExpirationPolicyDTO'
 \
     -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