-
Hi I am curious what happens in a certain situation -- based on some tests I am running locally. I read through https://pulsar.apache.org/docs/3.3.x/concepts-messaging/#preserving-order-of-processing -- but it does not talk much if at all about partitioned topics with key_shared. In fact there is a note here that states Test is as follows
Based on the test,
NOTE: When I set I have added durable-queue-poc2.zip here with the code that exhibits the behavior. Note that this will write a temp file per sender / receiver instance to keep track of what they are doing. The README.md contains steps including how I started the broker. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 10 replies
-
One important detail with Key_Shared is that on the producer side you will need to use |
Beta Was this translation helpful? Give feedback.
-
PIP-379: Key_Shared Draining Hashes for Improved Message Ordering scheduled for Pulsar 4.0 will address the problem. PIP-379 has been accepted by the Apache Pulsar project. The implementation PR is currently in review, #23352. |
Beta Was this translation helpful? Give feedback.
It's pretty much possible that everything is working as expected. Investigating this is also a learning journey for myself.
If this wouldn't happen, then this would be a bug.
The downside of Key_Shared subscriptions is the limited observability of the subscriptions. It might be hard to detect that delivery is paused because there are too many unacknowledged messages.
There are some tools.
partitioned-stats
andpartitioned-stats-internal
create a JSON file with some useful information:pulsar-admin topics partitioned-stats -etb --per-partition persistent://public/default/my-topic > stats.json pulsar-admin top…