qinliujie created ROCKETMQ-35:
---------------------------------
Summary: Consumer client can’t persist consume offset table to
Broker
Key: ROCKETMQ-35
URL: https://issues.apache.org/jira/browse/ROCKETMQ-35
Project: Apache RocketMQ
Issue Type: Bug
Components: rocketmq-client
Affects Versions: 4.0.0-incubating
Reporter: qinliujie
Assignee: Xiaorui Wang
Priority: Critical
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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)