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]

Reply via email to