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

Limit the number of inflight writes per projection to 1 #1373

Merged
merged 1 commit into from Jul 27, 2017

Conversation

2 participants
@pgermishuys
Member

pgermishuys commented Jul 27, 2017

In an Event Store under significant load, the projections that write events to streams could flood the node with writes. This will result in quite a number of write timeouts.

This is because a projection can have a write in flight for each unique stream it writes to.

This PR allows a projection to only have a single write in flight regardless of the number of unique streams it writes to. This significantly reduces the chances of a commit timeout and have each projection act like a well behaved client.

Todo:
We could look at making this a configuration option and let the user configure how many writes in flight a projection is allowed to have.

@hayley-jean hayley-jean merged commit 141e372 into release-v4.0.2 Jul 27, 2017

2 checks passed

continuous-integration/appveyor/pr AppVeyor build succeeded
Details
wercker/build-mono4 Wercker pipeline passed
Details

@hayley-jean hayley-jean deleted the projection-queue-emitted-streams branch Jul 27, 2017

hayley-jean added a commit that referenced this pull request Jul 31, 2017

Merge pull request #1373 from EventStore/projection-queue-emitted-str…
…eams

Limit the number of inflight writes per projection to 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment