liang-wenjie commented on PR #18464:
URL:
https://github.com/apache/dolphinscheduler/pull/18464#issuecomment-5213580570
Thanks for the review, @SbloodyS. I've addressed both points:
1. **Frontend serialization** — `missedFirePolicy` is now included in the
schedule create/update payload in `use-modal.ts` (`getTimingData`), so the
selected policy is actually persisted. The timing form already defaults to
`FIRE_ALL_MISSED` and the modal binds/loads it correctly on edit.
2. **Backward-compatible update** — Jackson cannot distinguish an omitted
JSON field from an explicit `null`, so I added a `missedFirePolicySet` presence
marker in `ScheduleParam`. The setter flips it only when `missedFirePolicy` is
present in the JSON:
- **Create**: omitted or explicit `null` falls back to `FIRE_ALL_MISSED`
(safe default for new schedules).
- **Update**: the stored policy is overwritten only when the field is
present and non-null; when an older client omits it, the existing policy is
preserved.
Added unit tests covering create (all 3 policies + default fallback) and
update (all 3 policies + preserve-on-omit), plus a test asserting the presence
marker distinguishes omitted vs explicit values.
Let me know if you'd prefer a different default or behavior.
--
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]