lasdf1234 commented on PR #13801: URL: https://github.com/apache/gravitino/pull/13801#issuecomment-6162055998
Thanks for the thorough API/contract review — agreed this should stay request-changes until the contracts are closed. Plan: **1. Validation path** — addressed in this PR. `PolicyContent.validate()` now invokes the shared execution-field checks, and `MaintenanceMinIntervalConfigs.resolve()` rejects a negative policy `minIntervalMs` instead of returning it. **2. Sensitive option bags** — follow-up PR. We'll enforce the existing sensitive-key policy at the server create/alter boundary for every persisted option bag (`jobOptions` / `updateOptions` / similar), so credential-shaped keys cannot land in content readable with `VIEW_POLICY`. **3. Cron contract** — follow-up on the TMS / scheduler registration path (e.g. plugins/tms), not in `api`. Full cron parsing belongs with the runtime that registers schedules (db-scheduler); `api` should not take on a second parser or pull scheduler jars. Zone policy (explicit zone id or a cluster-wide / UTC default) will be defined there as well. This PR already dropped the API-side cron regex for that reason. **4. Public API shape** — follow-up PR. We'll either introduce an immutable execution-settings value object / executable-policy capability with the first concrete `PolicyContent` + DTO wiring, or keep the helpers internal until that consumer lands — so we do not freeze incomplete peers on `PolicyContent` / `PolicyExecutionFields` prematurely. Happy to split 2/3/4 into separate follow-ups under the TMS epic if that helps review. -- 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]
