[ https://issues.apache.org/jira/browse/KAFKA-3006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15063218#comment-15063218 ]
Ismael Juma commented on KAFKA-3006: ------------------------------------ I agree that there is value in maintaining compatibility. At the same time, if we don't change it now, we'll never be able to change it and the motivation for the `Unstable` annotation was an issue like this one. So, I thought we should consider it as a potential option. With regards to List versus Collection, can you think of any scenario where the change would not be source compatible? We are changing the parameter to a supertype, so we are becoming more lenient in what we accept. > 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)