apache/pulsar

PoolMessage and DLQ can not work together

Open

#13.269 geöffnet am 13. Dez. 2021

Auf GitHub ansehen
 (6 Kommentare) (0 Reaktionen) (1 zugewiesene Person)Java (3.485 Forks)batch import
Stalehelp wantedlifecycle/staletype/bug

Repository-Metriken

Stars
 (13.697 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 3T 10h) (146 gemergte PRs in 30 T)

Beschreibung

Describe the bug PoolMessage and DLQ can not work together

To Reproduce Steps to reproduce the behavior:

  1. Enable poolMessages and DLQ in consumer side
  2. Call consumer.negativeAcknowledge(message) and then call message.release()
  3. 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.

Contributor Guide