Closed Samreay closed 6 months ago
Yeah it's a bug that acknowledge
also has the same issue.
We should check more types here.
Oh, it's not the issue with type checking. It's a regression that was introduced by https://github.com/apache/pulsar-client-python/pull/121.
I will push a fix ASAP and include it in the incoming 3.4.0 release.
The docs state:
Specifically, that you can pass either the message or the message id into the function. However, I don't believe this is correct, and passing the message id does not work. To reproduce this issue, first run a local pulsar standalone instance, via
And then run the following code:
When you pass in the message_id, no redeliveries occur. When you comment out the last line and swap to passing in the message as a whole, redeliveries occur.
Why using the message id matters: Our services consume the pulsar messages and convert them into non-pulsar structures (like pydantic objects or other python classes). We attach the message id to those objects so we can ack/nack them as needed without storing the entire original pulsar message
I suspect the general acknowledge method has the same bug in it.