Skip to content

Tags: michaeljmarshall/pulsar-client-python

Tags

v3.2.0-candidate-1

Toggle v3.2.0-candidate-1's commit message
Release v3.2.0 candidate 1

v3.1.0

Toggle v3.1.0's commit message
Release v3.1.0

v3.1.0-candidate-4

Toggle v3.1.0-candidate-4's commit message
Release v3.1.0 candidate 4

v3.1.0-candidate-3

Toggle v3.1.0-candidate-3's commit message
Release v3.1.0-candidate-3

v3.1.0-candidate-2

Toggle v3.1.0-candidate-2's commit message
Bump version to 3.1.0

v3.1.0-candidate-1

Toggle v3.1.0-candidate-1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fixed deadlock in producer.send_async (apache#87)

Fix apache#84

Release the GIL while calling `producer.sendAsync()` to avoid a deadlock when PyBind is triggering the Python callback. 


  * Main Thread 
     1. Holds the Python GIL
     2. Call `producer.send_async()`
     3. Tries to acquire internal `ClientConnetion` lock

 * Pulsar client internal thread
     1. Holds lock on `ClientConnection`
     2. Receives ack from the broker
     3. Triggers callback
     4. PyBind11 acquires GIL <---- Deadlock

The problem is the different behavior in PyBind from Boost::Python. 

We always need to make sure we release the GIL before making any call to C++ that potentially acquires any mutexes

v3.0.0

Toggle v3.0.0's commit message
Bump version to 3.0.0

v3.0.0-candidate-3

Toggle v3.0.0-candidate-3's commit message
Bump version to 3.0.0

v3.0.0-candidate-2

Toggle v3.0.0-candidate-2's commit message
Bump version to 3.0.0

v3.0.0-candidate-1

Toggle v3.0.0-candidate-1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Upgrade Pulsar C++ client to 3.1.0 (apache#62)