[ 
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)

Reply via email to