Hello all,

I have a question regarding a feature introduced in 2.6.0 called Negative
Acknowledgement in Batch Level index, described in PIP-54
<https://github.com/apache/pulsar/wiki/PIP-54:-Support-acknowledgment-at-batch-index-level>
.

In short: Before this feature, if you would write in batches (in producer)
to Pulsar (which makes sense most would for performance reasons), then a
consumer sending a negative acknowledgment for 1 message in the batch (say
we have 500 in a single batch), would cause the consumer to get the all
messages in the batch (500) redelivered as if they were not acknowledge.

PIP-54 fixes that by keeping the ack per message in a batch using a bitmap
index. The caveats are more memory consumption since the broker keeps those
bitmaps in-memory for any inflight batch.

With PIP-54 Pulsar IMO becomes "complete" in that it acts the way you would
expect it to be, in normal circumstances (as opposed to disconnects,
machine crashing, etc).

This feature was introduced in 2.6.0, roughly 2 years ago, and is off by
default.

I was wondering what the developers community thoughts on turning it on by
default? Has anyone experienced any performance degradation to it? Have you
turned it on in your clusters?

Thanks a lot for your time.

Asaf Mesika

Reply via email to