[ https://issues.apache.org/jira/browse/KAFKA-2388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Onur Karaman updated KAFKA-2388: -------------------------------- Description: According to the mailing list discussion on the consumer interface, we'll replace: {code} public void subscribe(String... topics); public void subscribe(TopicPartition... partitions); public Set<TopicPartition> subscriptions(); {code} with: {code} void subscribe(List<String> topics, RebalanceCallback callback); void assign(List<TopicPartition> partitions); List<String> subscriptions(); List<TopicPartition> assignments(); {code} We don't need the unsubscribe APIs anymore. The RebalanceCallback would look like: {code} interface RebalanceCallback { void onAssignment(List<TopicPartition> partitions); void onRevocation(List<TopicPartition> partitions); // handle non-existing topics, etc. void onError(Exception e); } {code} was: According to the mailing list discussion, the consumer interface will replace: {code} public void subscribe(String... topics); public void subscribe(TopicPartition... partitions); public Set<TopicPartition> subscriptions(); {code} with: {code} void subscribe(List<String> topics, RebalanceCallback callback); void assign(List<TopicPartition> partitions); List<String> subscriptions(); List<TopicPartition> assignments(); {code} We don't need the unsubscribe APIs anymore. The RebalanceCallback would look like: {code} interface RebalanceCallback { void onAssignment(List<TopicPartition> partitions); void onRevocation(List<TopicPartition> partitions); // handle non-existing topics, etc. void onError(Exception e); } {code} > subscribe(topic)/unsubscribe(topic) should either take a callback to allow > user to handle exceptions or it should be synchronous. > --------------------------------------------------------------------------------------------------------------------------------- > > Key: KAFKA-2388 > URL: https://issues.apache.org/jira/browse/KAFKA-2388 > Project: Kafka > Issue Type: Sub-task > Reporter: Jiangjie Qin > Assignee: Dong Lin > > According to the mailing list discussion on the consumer interface, we'll > replace: > {code} > public void subscribe(String... topics); > public void subscribe(TopicPartition... partitions); > public Set<TopicPartition> subscriptions(); > {code} > with: > {code} > void subscribe(List<String> topics, RebalanceCallback callback); > void assign(List<TopicPartition> partitions); > List<String> subscriptions(); > List<TopicPartition> assignments(); > {code} > We don't need the unsubscribe APIs anymore. > The RebalanceCallback would look like: > {code} > interface RebalanceCallback { > void onAssignment(List<TopicPartition> partitions); > void onRevocation(List<TopicPartition> partitions); > // handle non-existing topics, etc. > void onError(Exception e); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)