[ https://issues.apache.org/jira/browse/ROCKETMQ-35?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
yukon updated ROCKETMQ-35: -------------------------- Fix Version/s: 4.0.0-incubating > 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 > Fix For: 4.0.0-incubating > > > 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)