[ https://issues.apache.org/jira/browse/KAFKA-3006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15063183#comment-15063183 ]
Ismael Juma commented on KAFKA-3006: ------------------------------------ I am not sure about the value of having methods for both varargs and collections. It increases the surface area of the API and, unless we do it everywhere, it will be inconsistent with our other APIs. Why are we keeping the methods that take List parameters? Changing the List parameters to Collection is source compatible, right? Is it an option to deprecate methods at this stage? We did mark the class with @InterfaceStability.Unstable and we mentioned in the documentation that the new consumer is in beta, but breaking changes do suck. > Make collection default container type for sequences in the consumer API > ------------------------------------------------------------------------ > > Key: KAFKA-3006 > URL: https://issues.apache.org/jira/browse/KAFKA-3006 > Project: Kafka > Issue Type: Improvement > Components: clients > Affects Versions: 0.9.0.0 > Reporter: Pierre-Yves Ritschard > Labels: patch > > The KafkaConsumer API has some annoying inconsistencies in the usage of > collection types. For example, subscribe() takes a list, but subscription() > returns a set. Similarly for assign() and assignment(). We also have pause() > , seekToBeginning(), seekToEnd(), and resume() which annoyingly use a > variable argument array, which means you have to copy the result of > assignment() to an array if you want to pause all assigned partitions. We can > solve these issues by adding the following variants: > {code} > void subscribe(Collection<String> topics); > void subscribe(Collection<String> topics, ConsumerRebalanceListener); > void assign(Collection<TopicPartition> partitions); > void pause(Collection<TopicPartition> partitions); > void resume(Collection<TopicPartition> partitions); > void seekToBeginning(Collection<TopicPartition>); > void seekToEnd(Collection<TopicPartition>); > {code} > This issues supersedes KAFKA-2991 -- This message was sent by Atlassian JIRA (v6.3.4#6332)