Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tasks for the client version 2 #260

Open
10 tasks
Gsantomaggio opened this issue Dec 15, 2023 · 0 comments
Open
10 tasks

Tasks for the client version 2 #260

Gsantomaggio opened this issue Dec 15, 2023 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@Gsantomaggio
Copy link
Member

Gsantomaggio commented Dec 15, 2023

Is your feature request related to a problem? Please describe.

Based on the experience we gained with the DotNet stream client, I'd like to report some best practices we should adopt on version 2 of this client.

Describe the solution you'd like

Tests do:

Edge cases to handle:

  • Single Active Consumer: When a consumer is not active anymore, it should stop parsing chunks even if there are messages pending
  • Consumer: As soon the consumer requests to close, it should stop delivering the messages
  • Producer and Consumer: The TCP client could receive data even if the producer and/or consumer are closed. So the client has to ignore that data and maybe log them like .NET
  • Metadata update: The client receives the metadata updated when a stream is deleted or a replica removed. Even if the client is connected to another node. The server will drop all the consumers and producers. So the client needs to reconnect if the stream exists or close the connection if it does not exist and it is possible to release the connection.
  • Auto-Reconnect: StreamDoesNotExist is different from StreamNotAvailable the second one could be a temporary situation so the client has to re-try again

Describe alternatives you've considered

No response

Additional context

No response

@Gsantomaggio Gsantomaggio added the enhancement New feature or request label Dec 15, 2023
@Zerpet Zerpet added this to the 2.0 milestone Dec 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants