Skip to content

feat/cq-calendar-month-intervals - #18547

Open
DaZuiZui wants to merge 9 commits into
apache:masterfrom
DaZuiZui:feat/cq-calendar-month-intervals
Open

feat/cq-calendar-month-intervals#18547
DaZuiZui wants to merge 9 commits into
apache:masterfrom
DaZuiZui:feat/cq-calendar-month-intervals

Conversation

@DaZuiZui

Copy link
Copy Markdown
Contributor

What is changed

Implement calendar-aware mo/y durations for Continuous Query EVERY and RANGE clauses, based on the agreed design in #18428.

  • Preserve structured (monthPart, fixedPart) durations through parsing and the CQ request.
  • Calculate occurrences and RANGE endpoints from the original boundary in the persisted zone, including month-end, leap-year, and DST behavior.
  • Add versioned structured duration fields to TCreateCQReq, with validation and legacy sentinel handling.
  • Version CQ snapshots while retaining legacy fixed-duration snapshot compatibility.
  • Use actual occurrence distance for execution timeout and avoid advancing stale callbacks.
  • Add checked duration parsing/arithmetic and component-wise semantic validation.

Verification

git diff --check passes. Full Maven compilation is currently blocked by pre-existing generated Thrift/API version mismatches in this checkout.

Fixes #18428

@DaZuiZui DaZuiZui changed the title feat: support calendar month and year CQ intervals feat/cq-calendar-month-intervals Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support calendar-month/year (mo/y) intervals for Continuous Query EVERY and RANGE clauses

1 participant