Describe the bug
PoolMessage and DLQ can not work together
To Reproduce
Steps to reproduce the behavior:
Enable poolMessages and DLQ in consumer side
Call consumer.negativeAcknowledge(message) and then call message.release()
The message did not resend to DLQ topic.
Expected behavior
The message should be sent to DLQ topic.
Additional context
The negative ack msgs will be sent to DLQ topic in a scheduler triggerRedelivery, when we enable poolMessages, message.release() will clear MessageImpl immediately, this will cause processPossibleToDLQ() fail to get message id and resend to DLQ.
Original Issue: apache/pulsar#13269
Describe the bug PoolMessage and DLQ can not work together
To Reproduce Steps to reproduce the behavior:
consumer.negativeAcknowledge(message)
and then callmessage.release()
Expected behavior The message should be sent to DLQ topic.
Additional context The negative ack msgs will be sent to DLQ topic in a scheduler
triggerRedelivery
, when we enable poolMessages,message.release()
will clearMessageImpl
immediately, this will causeprocessPossibleToDLQ()
fail to get message id and resend to DLQ.