Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

use_tls and pulsar+ssl:// client behavior can differ #269

Open

Description

While running Pulsar cluster proxies behind an AWS Load Balancer I ran into issues with TLS connections to the proxies using example code from this repository. Running the examples/consumer.py code with the client url set to an LB hostname and use_tls=True results in connection failures, whereas simply specifying pulsar+ssl:// the consumer works as expected. After checking docs it seems the use_tls argument is deprecated, but I would still expect the behavior between use_tls and pulsar+ssl:// to be the same. I can provide details on the load balancer configuration if needed.

Examples with some logs (fake hostname):

client = pulsar.Client("pulsar://pulsar-primary.acme.org:6651", use_tls=True)

This client produces connection errors like below:

2025年10月10日 12:56:28.815 INFO [0x1f7cd60c0] Client:86 | Subscribing on Topic < redacted_topic >
2025年10月10日 12:56:28.815 INFO [0x1f7cd60c0] ClientConnection:193 | [<none> -> pulsar://pulsar-primary.acme.org:6651] Create ClientConnection, timeout=10000
2025年10月10日 12:56:28.815 INFO [0x1f7cd60c0] ConnectionPool:124 | Created connection for pulsar://pulsar-primary.acme.org:6651-pulsar://pulsar-primary.acme.org:6651-0
2025年10月10日 12:56:28.875 INFO [0x16cf07000] ClientConnection:410 | [192.168.100.214:65139 -> < redacted_ip >] Connected to broker
2025年10月10日 12:56:38.836 ERROR [0x16cf07000] ClientConnection:634 | [192.168.100.214:65139 -> < redacted_ip >] Connection was not established in 10000 ms, close the socket
2025年10月10日 12:56:38.837 INFO [0x16cf07000] ClientConnection:1336 | [192.168.100.214:65139 -> < redacted_ip >] Connection disconnected (refCnt: 2)
2025年10月10日 12:56:38.837 INFO [0x16cf07000] ConnectionPool:141 | Remove connection for pulsar://pulsar-primary.acme.org:6651-pulsar://pulsar-primary.acme.org:6651-0
2025年10月10日 12:56:38.837 INFO [0x16cf07000] RetryableOperation:114 | Reschedule get-partition-metadata-persistent:/< redacted_topic > for 100 ms, remaining time: 29900 ms
2025年10月10日 12:56:38.837 INFO [0x16cf07000] ClientConnection:282 | [192.168.100.214:65139 -> < redacted_ip >] Destroyed connection to pulsar://pulsar-primary.acme.org:6651-0

After switching the client to use pulsar+ssl://, the example consumer code works with no other changes.

client = pulsar.Client("pulsar+ssl://pulsar-primary.acme.org:6651")

Is this difference in behavior known and/or expected?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /