[ 
https://issues.apache.org/jira/browse/ROCKETMQ-102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15875326#comment-15875326
 ] 

ASF GitHub Bot commented on ROCKETMQ-102:
-----------------------------------------

Github user zhouxinyu commented on a diff in the pull request:

    https://github.com/apache/incubator-rocketmq/pull/64#discussion_r102128193
  
    --- Diff: 
client/src/main/java/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java
 ---
    @@ -461,7 +461,11 @@ public void start() throws MQClientException {
          */
         @Override
         public void shutdown() {
    -        this.defaultMQPushConsumerImpl.shutdown();
    +        shutdown(0);
    +    }
    +
    +    public void shutdown(long awaitTerminateMillis) {
    --- End diff --
    
    Good idea, it's ok for me.


> When shutdown(), the persisted offet is not the latest consumed message, 
> which may cause repeated messages
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: ROCKETMQ-102
>                 URL: https://issues.apache.org/jira/browse/ROCKETMQ-102
>             Project: Apache RocketMQ
>          Issue Type: Improvement
>          Components: rocketmq-client
>            Reporter: Jaskey Lam
>            Assignee: Xiaorui Wang
>
> When shutdown push consumer, push consumer will shutdwon thread pool then 
> persist offset.
> While shutdown thread pool is only stop submiting message to consume, which 
> does not stop consuming message which exists in the the thread queue or is 
> already being consumed.
> Which will cause repeated message very easily though user are shutdown 
> gracefully according to the provided interface.
> A way to solve this problem is needed. Such as accpet a param that how long 
> to wait for thread pool to terminated.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to