[ https://issues.apache.org/jira/browse/KAFKA-2350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14637753#comment-14637753 ]
Jason Gustafson commented on KAFKA-2350: ---------------------------------------- [~jkreps] This is a little unrelated to this jira, but one nice consequence of moving group management into configuration is that it opens the door to using subscribe(topic) as a shortcut to subscribing to all of a topic's partitions for users who do not want to use group management (which does have a little overhead). Currently the user would have to get all the partitions for that topic and then subscribe to them individually. Not that bad, but a tad annoying, especially if you have to poll for changes in the number of partitions. Anyway, I tend to agree with [~yasuhiro.matsuda] and [~gwenshap] that trying to mix partition and topic subscriptions in order to do pausing seems problematic. The explicit pause/unpause methods might not be as elegant, but I think they are easier for users to understand and are much easier for us to implement. > 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)