Skip to content

Subscripting to replicas other than the main might cause it to fail. #12

Description

@VictorGaiva

Problem

In some scenarios, a Consumer fails to startup because it receives a {:error, :stream_not_available} when calling RabbitMQStream.Connection.subscribe/5.

Initially it seemed that this happened when although the tcp/ssl connection would already be open, the authentication process was not yet complete. But later It I found out that it actually happened when attempting to connect to a replica other than the Main for that stream.

Solution

Implement an abstraction on top of RabbitMQStream.Connection that auto-discovers all the nodes and routes each requests based on the defined metadata

Testing

Add replication to the services setup and create related tests.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions