Conversation
eaadd74 to
1fb42b0
Compare
| // 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"` |
There was a problem hiding this comment.
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).
There was a problem hiding this comment.
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.
runtime/reconcilers/model.go
Outdated
| // Surface partition and test failures as warnings or errors based on instance config | ||
| var warnings []string | ||
| warnings = append(warnings, testWarnings...) | ||
| if model.State.PartitionsHaveErrors { |
There was a problem hiding this comment.
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.
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: