Skip to content

Pulsar client with custom logger may not terminate gracefully when a producer is created #256

@tzvi-shir-vaknin

Description

@tzvi-shir-vaknin

When providing a custom logger to the Pulsar client and creating a producer, intermittent terminations occur with the following error:

terminate called without an active exception
Aborted (core dumped)

This doesn't happen consistently; I'd estimate it occurs in about 1 out of 20 runs. The other executions complete gracefully as expected. As the setup here is almost exactly as in #194, I've tried adding the del statements suggested there, but that hasn't resolved the issue for me.

Here is the Python script I'm using:

import logging
import pulsar


def open_and_close():
    pulsar_logger = logging.getLogger("pulsarDummyLogger")
    client = pulsar.Client("pulsar://localhost:6650", logger=pulsar_logger)
    producer = client.create_producer("A")
    producer.close()
    client.close()
    del producer
    del client


if __name__ == "__main__":
    open_and_close()

I'm running it using the following bash command (as it doesn't happen all the time, I must run it a few times to encounter it):

for i in {1..20}; do env/bin/python python_script.py || break; done

I tried it on python 3.11.3 and on 3.13.3, as well as with pulsar-client 3.5.0, 3.6.0, 3.6.1, 3.7.0.

Any insights or suggestions would be greatly appreciated

Metadata

Metadata

Assignees

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