apache / apache/pulsar

PoolMessage and DLQ can not work together

Open
#13,269 6 comments 0 reactions 1 assignee Claimed by @wangjialing218 View on GitHub
help wanted lifecycle/stale Stale type/bug
Dominant language
Java
Stars
15.3k
Forks
3.8k
Avg merge
1d 14h
Merged PRs (30d)
160

Description

**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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.