apache / apache/pulsar-client-python

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

Open
#256 4 comments 0 reactions 1 assignee Claimed by @BewareMyPower View on GitHub
Dominant language
Python
Stars
75
Forks
53
PR merge metrics
No merged PRs in 30d

Description

When providing a custom logger to the Pulsar client and creating a producer, intermittent terminations occur with the following error:
```bash
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 https://github.com/apache/pulsar-client-python/issues/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:
```python
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):
```bash
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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.