Comments (7)
We have experienced this issue as well. Since we needed to also use a starting position in some cases we had to use the parameterless overload when a starting point is not specified and subtract 1 and use the bugged overload otherwise.
Needless to say, we would appreciate if this bug is fixed soon as it's a fundamental problem in gRPC client.
from eventstore-client-dotnet.
Following @thefringeninja advice, the workaround for reading from the start is to use the overload without the position. It indeed starts from the beginning of the stream.
from eventstore-client-dotnet.
Updated the description.
from eventstore-client-dotnet.
This is by design - subscribing is an exclusive operation. If you have no checkpoint, please user the overload that does not take a StreamPosition
.
from eventstore-client-dotnet.
This is by design - subscribing is an exclusive operation. If you have no checkpoint, please user the overload that does not take a
StreamPosition
.
I don't think off-by-one errors are by design and the behavior is different than the old TCP client.
from eventstore-client-dotnet.
This is extremely confusing and should be properly documented. Wuth the concept of start as a position is natural to think the start of the stream is the event number 0, not whatever the underlying limitation of the implementation of the event store.
Also this adds overhead on every client that consumes the library:
If(we-dont-have-processed-events)
Subscribe()
else
Subscribe(position)
Is way more natural just do
var lastPosition = GetLastPosition()
Subscribe (lastPosition)
from eventstore-client-dotnet.
this has been fixed in version 22.0.0 of the client,
you can use FromAll.Start
, FromStream.Start
to achieve the desired behaviour.
More details in this PR #188
from eventstore-client-dotnet.
Related Issues (20)
- Exception calling AppendToStreamAsync with duplicate event HOT 2
- AppendToStream can write a subset of events when errors occur. HOT 3
- Filtering on streams HOT 3
- Issue with dapr HOT 2
- Client continues to invoke the ChannelInfo factory after being disposed
- Connection string port is parsed wrong HOT 3
- What was the reason to implement connection string parser manually with lots of allocations? HOT 2
- Automatic reconnection to new leader HOT 5
- EventStoreClientSettings.Create is not correctly populating the created settings HOT 4
- SubscriptionFilterOptions support for StreamFilter and EventTypeFilter together HOT 1
- All settings classes like `EventStoreClientConnectivitySettings` must be records to be equatable out of the box HOT 3
- The link to Slack community " DDD-CQRS-ES" HOT 4
- IWriteResult.NextExpectedStreamRevision: Mismatch between member name and documentation
- Breaking change "SubscribeToAllAsync is no longer supported. Use SubscribeToAll instead" HOT 5
- v24.2.0 : gRPC.Core.RpcException even for INSECURE=true, TLS=false HOT 2
- RpcException When Using AppendToStreamAsync From Windows HOT 14
- AppendToStreamAsync hangs in .NET Framework 4.8 HOT 11
- FirstChanceException when no metadata HOT 3
- Regression: exception with stack trace on graceful subscription shutdown HOT 3
- Exception when non-json metadata is sent and open telemetry is active HOT 8
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 eventstore-client-dotnet.