[
https://issues.apache.org/jira/browse/KAFKA-2350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14637338#comment-14637338
]
Gwen Shapira commented on KAFKA-2350:
-------------------------------------
Agree with [~yasuhiro.matsuda].
The notion of subscribe vs assigned is a bit challenging to grasp as is
([~guozhang] demostrated that nicely), adding flow-control mechanics into it
will be messy and difficult for users to get right.
I think we all hope that in most cases users will subscribe and unsubscribe to
entire topics and let the coordinator handle the details (thereby reducing
use-errors, mailing list cries for help, etc). Adding APIs that will cause the
opposite to happen is a step in the opposite direction.
> Add KafkaConsumer pause capability
> ----------------------------------
>
> Key: KAFKA-2350
> URL: https://issues.apache.org/jira/browse/KAFKA-2350
> Project: Kafka
> Issue Type: Improvement
> Reporter: Jason Gustafson
> Assignee: Jason Gustafson
>
> There are some use cases in stream processing where it is helpful to be able
> to pause consumption of a topic. For example, when joining two topics, you
> may need to delay processing of one topic while you wait for the consumer of
> the other topic to catch up. The new consumer currently doesn't provide a
> nice way to do this. If you skip poll() or if you unsubscribe, then a
> rebalance will be triggered and your partitions will be reassigned.
> One way to achieve this would be to add two new methods to KafkaConsumer:
> {code}
> void pause(String... topics);
> void unpause(String... topics);
> {code}
> When a topic is paused, a call to KafkaConsumer.poll will not initiate any
> new fetches for that topic. After it is unpaused, fetches will begin again.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)