Comments (3)
The order of events in a stream is determined by the stream_version
column in the stream_events
table. You can run the following SQL query for a given stream id to get ordered events. Stream id 0 is the global “all events” stream.
A Commanded event handler is guaranteed to receive events in the order they appear in the stream. An Ecto projector is just a specialised Commanded event handler.
If you can create a code sample to reproduce the issue you are seeing I will take a look.
from commanded-ecto-projections.
Thank you for this @slashdotdash ! It's good to know the guarantee.
Not sure which stream the projector runs on, but either way, joined w/ stream_events
and ordered by stream_version
, it still is the correct order:
Will dig a bit more and if that does not help will try to create some code to reproduce.
from commanded-ecto-projections.
Ok, this must have been my fault. I can't reproduce and its gone. Rebuilt the projection from scratch, first time exploded again, second time runs smoothly now, probably all the way through to the end.
Reason was probably some unclean state while developing the projector or some unclean state was produced when shutting down the development Elixir process while projecting (CTRL+\
) and upon continue it exploded then..
However, this is not a bug in this project. Closing this issue. Thanks for your help!
from commanded-ecto-projections.
Related Issues (20)
- Document :consistency option in README
- Upgrade to Ecto v3 HOT 2
- Ecto projector shutting down service when invalid event HOT 4
- Use `timestamp with time zone` for timestamp fields in `projection_versions` HOT 2
- [Regression] Timestamp fields in `projection_versions` are missing microseconds. HOT 1
- Allow projectors to be tested directly
- Dynamic schema prefix HOT 1
- question: Does after_update run after all the projection are executed? HOT 2
- Support runtime projector names
- [Doc] Projection versions last seen checkpoint differs from event store subscription checkpoint
- Remove try / rescue from projection function
- Projector performance issues
- Don't call the `after_update/3` function when idempotency check fails HOT 2
- How to insert data in different tables for one event? HOT 1
- Error starting using Supervisor HOT 2
- Starting as part of application supervision tree fails HOT 1
- Document the usage of `multi`. HOT 2
- Configure repo at runtime
- Out-of-order events are skipped when using the `:concurrency` option 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 commanded-ecto-projections.