apache/pulsar

PoolMessage and DLQ can not work together

开放

#13,269 创建于 2021年12月13日

 (6 条评论) (0 个反应) (1 位负责人)Java (3,485 个派生)batch import
Stalehelp wantedlifecycle/staletype/bug

仓库指标

星标
 (13,697 个星标)
PR 合并指标
 (平均合并 3天 10小时) (30 天内合并 146 个 PR)

描述

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.

贡献者指南