Skip to content

Bug in URL Normalization from List in client.py class #556

Open
@OnSuorce

Description

@OnSuorce

Observed behavior

Currently, if you try to connect by passing a list of incomplete URLs (e.g., ["nats://nats", "nats://nats-1", "nats://nats-2"] or ["nats", "nats-1", "nats-2"]), the client fails to connect, while connecting using just one of the items from the list is successful.

Expected behavior

Essentially, when a URL is passed as a single string, it gets normalized, but when taken from a list, this does not happen.

Server and client version

NATS server (Docker image): 2.10.14
NATS Python client: 2.7.2

Host environment

Host environment not relevant

Steps to reproduce

Writing incomplete URLs as below will result in a connection refused exception

options = {
            "servers": ["nats", "nats-1", "nats-2"],
            "max_reconnect_attempts": 10,
            "reconnect_time_wait": 2
        }
await self.nc.connect(**options)

The following code snippets will run fine:

"servers": ["nats://nats:4222", "nats://nats-1:4222", "nats://nats-2:4222"],
"servers": "nats-1",

Metadata

Metadata

Assignees

No one assigned

    Labels

    defectSuspected defect such as a bug or regression

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions