[
https://issues.apache.org/jira/browse/ROCKETMQ-102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15871533#comment-15871533
]
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_r101719487
--- 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 --
Since `MQPushConsumer` only has the method interface for `shutdown( )`, so
we could consider pull `shutdown(long awaitTerminateMillis)` up to the parent
interface or make `shutdown(long awaitTerminateMillis)` private and give a
default input(non-zero) in `shutdown()`.
> 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)