EventStore / EventStore-Client-Dotnet

Dotnet Client SDK for the Event Store gRPC Client API written in C#
Other
143 stars 37 forks source link

Implement RFC 032 gRPC Client Deadlines #194

Closed thefringeninja closed 2 years ago

thefringeninja commented 2 years ago

Changed: Default deadlines for reading operations set to Inifinity Changed: Deadlines for all other operations defaults to 10s Changed: Removed Timeout from EventStoreOperationOptions and moved it to an explicit deadline parameter on all operations except for subscriptions. Consequently, configureOperationOptions callback has been removed for most operations.

This PR configures default deadlines for each operation according to the following table:

Operation Default Timeout Overridden by defaultDeadline Overridden by deadline
Stream and $all Reads infinity N Y
Stream and $all Subscriptions (Including Persistent Subscriptions) infinity N N
Writes 10 seconds Y Y
Management operations 10 seconds Y Y
Batch Append 10 seconds Y Y

This aligns with the other clients.

Fixes #184

timothycoleman commented 2 years ago

i pushed a branch rfc-032-tim with a couple of changes & resolving the merge conflicts, feel free to squash those into this pr if you like

then there is just the just the configureOptions convo left and the RpcException handling in batchappender

oskardudycz commented 2 years ago

@timothycoleman, @thefringeninja, for the future, it'd be good to not squash changes into a single commit on such a big PR before getting final reviews, as it's hard to see what has changed or not and don't have to go through the whole PR doing the review again.