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

Idempotent appends + In-memory Stream Store #4

Merged
merged 6 commits into from Jul 7, 2019

Conversation

Projects
None yet
1 participant
@jeffijoe
Copy link
Owner

commented Jul 7, 2019

  • Similar to SqlStreamStore, Snicket now supports idempotent appends using a similar approach.
  • an In-Memory Stream Store implementation is now available which passes the same suite of tests as the Postgres implementation.
  • Fix an issue where UUID v4 were the only allowed UUIDs for messages. It now allows any version.
  • ConcurrencyError has been renamed to WrongExpectedVersionError
  • DuplicateMesssageError has been removed and is covered under the idempotent appends scenarios.

jeffijoe added some commits Jul 4, 2019

feat: make append idempotent
This required a big internal change to the schema.
Since Snicket isn’t 1.0 yet, I don’t feel too bad about that.
Shoutout to @thefringeninja for the original
SqlStreamStore Postgres schemas, they’ve been a great help.
chore: extracted Stream Store acceptance tests
This will allow us to use the same test suite for new implementations.
feat: add in-memory store implementation
The in-memory stream store passes all the same tests as the Postgres one,
and is going to be useful for tests.

@jeffijoe jeffijoe merged commit 974dd33 into master Jul 7, 2019

3 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
coverage/coveralls Coverage remained the same at 100.0%
Details

@jeffijoe jeffijoe deleted the feature/idempotent-append branch Jul 7, 2019

@jeffijoe

This comment has been minimized.

Copy link
Owner Author

commented Jul 7, 2019

🎉 This PR is included in version 0.3.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@jeffijoe jeffijoe added the released label Jul 7, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.