pulsar-client-python
pulsar-client-python copied to clipboard
Pulsar client with custom logger may not terminate gracefully when a producer is created
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 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:
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