Skip to content

feat: Support non-error reconcile status#9031

Open
k-anshul wants to merge 8 commits intomainfrom
non_error_reconcile_status
Open

feat: Support non-error reconcile status#9031
k-anshul wants to merge 8 commits intomainfrom
non_error_reconcile_status

Conversation

@k-anshul
Copy link
Member

@k-anshul k-anshul commented Mar 12, 2026

closes https://linear.app/rilldata/issue/PLAT-130/support-non-error-reconcile-status-info-warning

Disclaimer: The frontend code is vibe coded and not reviewed fully.

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!

@k-anshul k-anshul self-assigned this Mar 12, 2026
Base automatically changed from undefined_props to main March 13, 2026 03:31
@k-anshul k-anshul force-pushed the non_error_reconcile_status branch from eaadd74 to 1fb42b0 Compare March 13, 2026 08:55
@k-anshul k-anshul marked this pull request as ready for review March 13, 2026 12:02
@k-anshul k-anshul requested a review from begelundmuller March 17, 2026 06:37
// ModelPartitionsWarnOnFailure: when true, partition execution failures are surfaced as non-blocking warnings instead of errors.
ModelPartitionsWarnOnFailure bool `mapstructure:"rill.model.partitions_warn_on_failure"`
// ModelTestsWarnOnFailure: when true, model test failures are surfaced as non-blocking warnings instead of errors.
ModelTestsWarnOnFailure bool `mapstructure:"rill.model.tests_warn_on_failure"`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Realistically nobody sets these config flags, they are mainly ways for us to fix/patch issues for customers with special needs. So I think we need to think about the right defaults here.

How about we set both of these to true by default on Rill Cloud and false in Rill Developer? I think that's more the expected behavior. In dev, you want errors early. But in prod we have had several complaints about 1 partition error out of 100s causing downstream processing/validation to get blocked (and I suspect people might feel similar about tests, i.e. that they should not block processing, just highlight things for a further look/fix later).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah sounds good.
Should this be set to true if Environment == prod because even during cloud editing we would want the reconcile to fail giving same experience as rill developer.

// Surface partition and test failures as warnings or errors based on instance config
var warnings []string
warnings = append(warnings, testWarnings...)
if model.State.PartitionsHaveErrors {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A related problem is that the some partitions have errors error is not very useful. It would be nice if we could return Partition <id> failed with error: %w, and if multiple partitions failed, return such an error for the first, and return e.g. 9 other partitions also failed with errors.

Would that be easy to fit in here? Warnings might make it easier to return such lists.

Anyway, it's probably better to do this in a separate PR.

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.

2 participants