Hi,

Pulsar api provides MessageId interface which is generally used by producer
and consumer applications to manage topic offset. Sometimes, these
applications would like to serialize and deserialize messageIds,
specifically consumer app which would like to persist messageId and ack
with those messageIds by deserializing them. However, right now Pulsar
doesn't support correct deserialization of multi-topic or partitioned-topic
because of that 1acknowledge` API call fails for those topics with below
error:
"Only TopicMessageId is allowed to acknowledge for a multi-topics consumer"

MessageIdImpl stores id metadata into MessageIdData which doesn't contain
context about topic name to find out which topic belongs to this MessageID.
Therefore, we need to add topic-name into MessageIdData and allow
multi-topic/partitioned topics to deserialize messages correctly so,
consumer app can perform as expected.

Please visit PIP for any suggestions:
https://github.com/apache/pulsar/issues/20221

This PIP is created with PR: https://github.com/apache/pulsar/pull/19944

Thanks,
Rajan

Reply via email to