Comments (1)
There was a bug that caused the dropped subscription to skip one event. It was fixed here: 9f4cb7a
There are two places where the subscription stores the checkpoint.
First is when a system event is ignored:
https://github.com/Eventuous/eventuous/blob/master/src/Eventuous.Subscriptions/SubscriptionService.cs#L78-L82
The second is after processing an event:
https://github.com/Eventuous/eventuous/blob/master/src/Eventuous.Subscriptions/SubscriptionService.cs#L106
In case of an exception in event processing, the _lastPosition
is not updated and it's deliberate. This field is only used to report the processing gap. There's no intention in the code to retry processing the event as it's the responsibility of an event handler. If you want the subscription to throw and stop, you can set the ThrowOnError
option to true
.
So, how it's done now is by design. However, the next release would change the checkpoint management entirely. Therefore, I am closing this issue. The subscription docs would also be published only when the next release is out, as it makes no sense to document things that are going to change.
from eventuous.
Related Issues (20)
- Avoid unnecessary copy of Payload and Metadata in EsdbEventStore
- Most of the AspNetCore extensions should likely be changed/moved to something more generic HOT 1
- Multitenant implementation HOT 20
- Custom queue name in RMQ gateway subscription
- Crypto Shredding Serialization/Deserialization Support
- Subscriptions sometimes skips events HOT 24
- Postgres subscription is flooding database server with polling queries HOT 3
- Postgres subscription does not automatically reconnect after database server restart HOT 1
- Promote InMemoryEventStore to the main Eventuous library
- Wrong event stream name in EventStoreDB persistent subscription events
- MongoProjector ignores exceptions returning EventHandlingStatus.Success with no logs HOT 1
- Npgsql.PostgresException: 23505: duplicate key value violates unique constraint "pk_checkpoints" HOT 1
- Postgres Store and Sample Booking Application
- Follow RFC 7807: Problem Details for HTTP APIs HOT 4
- Cannot use more than one gateway transformation HOT 1
- [Aggregate Store] Non-intrusive aggregate caching HOT 2
- MapEventuousSpyglass interferes with UseAuthentication and UseAuthorization HOT 1
- Using MapDiscoveredCommands with multiple aggregates results in error 'No handler found for command Object ' HOT 16
- Ability to return a custom return type for a command API reponse HOT 5
- SQL Server __schema__.Streams.StreamName is too big to be indexed
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 eventuous.