Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: reconciliation rule blocking timed out/failed futures #428

Merged
merged 1 commit into from
Aug 29, 2023

Conversation

kanej
Copy link
Member

@kanej kanej commented Aug 29, 2023

If a future has previously timed out or failed (not just failed at simulation). Then the user must wipe the future with the wipe command before rerunning.

We enforce this with a reconciliation check. This check comes after the future level reconciliation checks (a design decision we may revisit - could it just be a standard rule?).

Resolves #412.

If a future has previously timed out or failed (not just failed at
simulation). Then the user must wipe the future with the wipe command
before rerunning.

We enforce this with a reconciliation check. This check comes after the
future level reconciliation checks (a design decision we may revisit -
could it just be a standard rule?).

Resolves #412.
@kanej kanej requested a review from alcuadrado August 29, 2023 21:46
@kanej kanej linked an issue Aug 29, 2023 that may be closed by this pull request
Base automatically changed from return-types to development August 29, 2023 21:52
if (reconciliationFailures.length === 0) {
reconciliationFailures = this._reconcileNoErroredFutures(deploymentState);
}

// TODO: Reconcile sender of incomplete futures.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
// TODO: Reconcile sender of incomplete futures.

Not relevant to this PR, but we already did this.

Copy link
Member

@alcuadrado alcuadrado left a comment

Choose a reason for hiding this comment

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

I say we merge this here, and then think a bit more about the UX implications of this being part of reconciliation vs an ad-hoc check. The latter may allow us to give better error messages.

@kanej
Copy link
Member Author

kanej commented Aug 29, 2023

I say we merge this here, and then think a bit more about the UX implications of this being part of reconciliation vs an ad-hoc check. The latter may allow us to give better error messages.

Agreed. I will merge.

I initially had it as a post-reconciliation check. But I then needed to answer the question, "what is the return result?". I picked validation, then changed my mind and went with reconciliation. At that point though it seemed odd to have a post reconciliation check that returned a reconciliation failure, rather than an additional rule in reconciliation.

Happy to shift it out and improve the message, we just need to consider whether it should count as an additional phase and hence get a new return type.

@kanej kanej merged commit ec339df into development Aug 29, 2023
8 checks passed
@kanej kanej deleted the fix/block-rerun-of-failed-or-timedout branch August 29, 2023 22:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Prevent resuming failed/timedout deployments
2 participants