Comments (8)
I've worked on this with @wooderz privately. We found out that his Guid
based stream identity generation logic was at fault. Every so often it would generate a duplicate value (where a unique one was expected) and cause the expected behaviour around appending to a stream with ExpectedVersion.NoStream
to kick in.
from sqlstreamstore.
It's a known issue with the MySql implementation, but it's news to me with the Postgres one ... I'll try and add a test to reproduce the behavior. As of how much concurrency are you observing this?
from sqlstreamstore.
Wasn't lots really, about 120 I think. I use Loadster to do the tests, here's the page with the error on. Each test is set to create a new record (using a random identifier in the post body) so each one should be a NewStream
from sqlstreamstore.
To be 100% sure I just ran it with a dataset of all unique values for keys for the tenant id and the same problem occurred. Therefore it's definitely not an ID conflict
from sqlstreamstore.
Great, was going to ask - makes looking for the needle in the haystack easier since there should be a needle.
from sqlstreamstore.
Anything I can do to narrow it down? Happy to share my aggregate Save
method if that's of any help
from sqlstreamstore.
If you can share it, that might shed some extra light.
from sqlstreamstore.
(FWIW Equinox.Tool
(see https://github.com/jet/equinox#benchmarks and the section just above) is plumbed to run a concurrency test with error and latency metrics using SqlStreamStore - I have not personally used it for some time and don't have much direct interest in mucking with SQL stores atm)
from sqlstreamstore.
Related Issues (20)
- 308 cycle redirect when using StreamResource
- When checking schema version on an blank db, capture the exception and return in the check result instead of throwing.
- ListStreams guidance HOT 2
- Trouble upgrading from 1.1.3 to 1.2.0-beta.8 HOT 3
- SqlException while polling eventstore HOT 1
- GetSchemaCreationScript() should include schema (namespace) creation
- PostgreSQL > Slow subscribe when having a lot of streams HOT 9
- Performance issue when ReadingAllForwards on MySql HOT 2
- Replace .NotOnCapturedContext(); with standard .ConfigureAwait(false);
- Concurrent appends to same stream and ExpectedVersion.Any on Postgres throws WrongExpectedVersion HOT 3
- Endless polling loop?
- Slack link broken HOT 2
- Change latest release to 1.2.0 on right-side panel
- Still maintained? HOT 6
- async issues with Microsoft.data.sqlclient HOT 1
- Allows for domain events to exist in multiple streams user created ? HOT 1
- ReadStreamForwards times out for long streams [MS SqlServer]
- Concurrency issue in MsSqlStreamStore.AppendStream
- Add WITH (ONLINE=ON) to MS SQL indexes creation HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sqlstreamstore.