[
https://issues.apache.org/jira/browse/ROCKETMQ-35?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
yukon resolved ROCKETMQ-35.
---------------------------
Resolution: Fixed
> 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)