Skip to content

Improve reconnection #336

Closed
Closed
@Gsantomaggio

Description

@Gsantomaggio

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

The Producer and Consumer classes provide a way to auto-reconnect, but there is some edge case not correctly handled like:

The auto-reconnection is hidden from the user. It is hard to understand the status without logs.

Describe the solution you'd like

What to do:

RabbitMQ.Stream.Client.Reliable.Producer[0] Error sending message. Most likely the message is not sent to the stream: BenchmarkDotNet2.Message wont' receive confirmation so you will receive a timeout error System.Threading.Tasks.TaskCanceledException: A task was canceled.    at RabbitMQ.Stream.Client.RawProducer.SemaphoreAwaitAsync() in rabbitmq/rabbitmq-stream-dotnet-client/RabbitMQ.Stream.Client/RawProducer.cs:line 231    at RabbitMQ.Stream.Client.RawProducer.Send(UInt64 publishingId, Message message) in /Users/gas/git/rabbitmq/rabbitmq-stream-dotnet-client/RabbitMQ.Stream.Client/RawProducer.cs:line 340    at RabbitMQ.Stream.Client.Reliable.Producer.SendInternal(UInt64 publishingId, Message message) in rabbitmq-stream-dotnet-client/RabbitMQ.Stream.Client/Reliable/Producer.cs:line 271
  • Handle super Stream error like:
RabbitMQ.Stream.Client.Reliable.Producer[0] Error sending message. Most likely the message is not sent to the stream: invoices.Message wont' receive confirmation so you will receive a timeout error System.DivideByZeroException: Attempted to divide by zero. 

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions