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

Ensure lenient navigation #53

Open
MaddieM4 opened this issue Sep 9, 2014 · 2 comments
Open

Ensure lenient navigation #53

MaddieM4 opened this issue Sep 9, 2014 · 2 comments

Comments

@MaddieM4
Copy link
Member

MaddieM4 commented Sep 9, 2014

Part of the new design is that we don't break a document for having bad events. We apply parent events transactionally and ignore failures.

This means we need tests to confirm that when applying the (bad) history of an event:

  • We have a good error reporting mechanism.
  • We continue over bad events, even consecutive ones.
  • We do not persist half-states from partially successful events.

This should be a pretty straightforward test-then-fix ticket, although it will most likely force some API changes.

@MaddieM4
Copy link
Member Author

API changes:

  • Event.Goto() should return []error, not error.
  • Event.Apply() should be transactional, returning an error if rollback was necessary.

@MaddieM4
Copy link
Member Author

Event.Apply happens to be atomic already. Will work on multi-primitive cases in a separate ticket.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant