Aias00 opened a new issue, #10784:
URL: https://github.com/apache/rocketmq/issues/10784
## Problem
`ConsumerProcessor.filterPopResult` currently keeps a POP message in the
returned result even when the broker response does not contain
`PROPERTY_POP_CK` and `createHandle(...)` returns null:
```java
String handleString =
createHandle(messageExt.getProperty(MessageConst.PROPERTY_POP_CK),
messageExt.getCommitLogOffset());
if (handleString == null) {
log.error("[BUG] pop message from broker but handle is empty.
requestHeader:{}, msg:{}", requestHeader, messageExt);
messageExtList.add(messageExt);
continue;
}
```
A POP client needs the receipt handle to ack, change invisible time, or
return the message. Returning a message without a valid handle can make the
client receive a message that it cannot complete correctly.
## Expected behavior
When a POP message is missing the receipt handle, Proxy should treat it as
an invalid broker response and avoid returning that message to the client.
## Scope
Track 2 / Proxy runtime diagnostics and POP correctness. This is separate
from #10728, which only tracks raw `MessageExt` logging redaction and
explicitly avoids behavior changes.
## Evidence
-
`proxy/src/main/java/org/apache/rocketmq/proxy/processor/ConsumerProcessor.java`
- `createHandle(...)` returns null when `PROPERTY_POP_CK` is missing.
- `filterPopResult(...)` currently logs the bug but still appends the
invalid message to the returned list.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]