Skip to content

feat: backfill a partition range from the model partitions dialog - #10079

Draft
rohithreddykota wants to merge 1 commit into
mainfrom
rohithreddykota/partition-range-backfill-ui
Draft

rohithreddykota wants to merge 1 commit into
mainfrom
rohithreddykota/partition-range-backfill-ui

Conversation

@rohithreddykota

Copy link
Copy Markdown
Member

Adds a "Backfill range" view to the model partitions dialog, so incremental models can refresh a contiguous range of partitions from the UI after previewing exactly which partitions will run.

  • Pick a partition data field, enter an inclusive start and end, and preview the matched partitions before confirming; confirming sends their keys through the existing RefreshModelTrigger.partitions.
  • Numeric values compare numerically (including numeric strings); everything else compares as strings, which orders ISO dates correctly. An end like 2026-03-08 also includes 2026-03-08T00:00:00Z.
  • Shows read-only execution settings before submitting: partition concurrency and retry settings (attempts, delay, backoff, matched error patterns), with runtime defaults when retry is unset.
  • Adds ModelState.partitions_concurrency, set by the model reconciler to the concurrency the executor actually resolved (partitions_concurrency combined with connector limits) and cleared for non-partitioned runs. The UI prefers the configured partitions_concurrency, then this observed value.
  • Warns when other pending partitions will run with the backfill, disables submit while the model is reconciling, and polls the partitions list after triggering.
  • The dialog is shared, so this works in both Rill Developer and Rill Cloud. Only shown for incremental models.

Tested with npx vitest run src/features/models/partitions/partition-range.spec.ts (16 tests passing), go test ./runtime/reconcilers/..., golangci-lint run ./runtime/reconcilers/..., and npm run quality across web-common, web-local, and web-admin.

Checklist:

  • Covered by tests
  • Ran it and it works as intended
  • Reviewed the diff before requesting a review
  • Checked for unhandled edge cases
  • Linked the issues it closes
  • Checked if the docs need to be updated. If so, create a separate Linear DOCS issue
  • Intend to cherry-pick into the release branch
  • I'm proud of this work!

This branch has not been deployed

No deployments
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.

1 participant