Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
4.0.0-incubating
-
None
Description
RocketMQ version:4.0.0-SNAPSHOT
When I use the consumer which in example/quickstart and used MessageListenerConcurrently MessageListener,I found that the consumer would reconsume message when I restarted it everytime.That is no sense,So I printed the log,found that when the consumer used RemoteBrokerOffsetStore to persist the consume offset table which always be zero.
I found that the inner class ConsumeRequest in ConsumeMessageConcurrentlyService class has a bug in it.
Let's have a see.
```java
consumeMessageContext.getProps().put(MixAll.CONSUME_CONTEXT_TYPE, returnType.name());
```
the consumeMessageContext not null only when ConsumeMessageConcurrentlyService.this.defaultMQPushConsumerImpl.hasHook() be TRUE.In the code,there is no IF clause,So,sometime will be cause NPE and can't update the consume offset table.
Solution:
Just remove the code above.
Attachments
Issue Links
- links to