[
https://issues.apache.org/jira/browse/KAFKA-3905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15369206#comment-15369206
]
ASF GitHub Bot commented on KAFKA-3905:
---------------------------------------
GitHub user rekhajoshm opened a pull request:
https://github.com/apache/kafka/pull/1601
KAFKA-3905; Handle invalid collection of topics, patterns on subscription
for list of topics, with patterns, and with assignments
KAFKA-3905: Handling null/empty topics and collections, patterns when
subscription with list of topics or with patterns, and with assignments.
- Added validity checks for input parameters on subscribe, assign to avoid
NPE, and provide an argument exception instead
- Updated behavior for subscription with null collection to be same as when
subscription with emptyList.i.e., unsubscribes.
- Added tests on subscription, assign
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/rekhajoshm/kafka KAFKA-3905-1
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/1601.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1601
----
commit c9a66992b1095616f87c5748f210b973ebc7eb01
Author: Rekha Joshi <[email protected]>
Date: 2016-05-26T17:48:37Z
Merge pull request #2 from apache/trunk
Apache Kafka trunk pull
commit 8d7fb005cb132440e7768a5b74257d2598642e0f
Author: Rekha Joshi <[email protected]>
Date: 2016-05-30T21:37:43Z
Merge pull request #3 from apache/trunk
Apache Kafka trunk pull
commit fbef9a8fb1411282fbadec46955691c3e7ba2578
Author: Rekha Joshi <[email protected]>
Date: 2016-06-04T23:58:02Z
Merge pull request #4 from apache/trunk
Apache Kafka trunk pull
commit 172db701bf9affda1304b684921260d1cd36ae9e
Author: Rekha Joshi <[email protected]>
Date: 2016-06-06T22:10:31Z
Merge pull request #6 from apache/trunk
Apache Kafka trunk pull
commit 9d18d93745cf2bc9b0ab4bb9b25d9a31196ef918
Author: Rekha Joshi <[email protected]>
Date: 2016-06-07T19:36:45Z
Merge pull request #7 from apache/trunk
Apache trunk pull
commit 882faea01f28aef1977f4ced6567833bcf736840
Author: Rekha Joshi <[email protected]>
Date: 2016-06-13T20:01:43Z
Merge pull request #8 from confluentinc/trunk
Apache kafka trunk pull
commit 851315d39c0c308d79b9575546822aa932c46a09
Author: Rekha Joshi <[email protected]>
Date: 2016-06-27T17:34:54Z
Merge pull request #9 from apache/trunk
Merge Apache kafka trunk
commit 613f07c2b4193302c82a5d6eaa1e53e4b87bfbc1
Author: Rekha Joshi <[email protected]>
Date: 2016-07-09T17:03:45Z
Merge pull request #11 from apache/trunk
Merge Apache kafka trunk
commit ff5a583abf22d40d0bf3339a450d28ce336dd4fa
Author: Joshi <[email protected]>
Date: 2016-07-09T17:21:49Z
Handle invalid collection of topics, patterns on subscription for list of
topics, with patterns, and with assignments
----
> remove null from subscribed topics in KafkaConsumer#subscribe
> --------------------------------------------------------------
>
> Key: KAFKA-3905
> URL: https://issues.apache.org/jira/browse/KAFKA-3905
> Project: Kafka
> Issue Type: Wish
> Components: clients
> Affects Versions: 0.10.0.0
> Reporter: Xing Huang
> Assignee: Rekha Joshi
> Priority: Minor
>
> Currently, KafkaConsumer's subscribe methods accept Collection<String> as
> topics to be subscribed, but a Collection may have null as its element. For
> example
> {code}
> String topic = null;
> Collection<String> topics = Arrays.asList(topic);
> consumer.subscribe(topics)
> {code}
> When this happens, consumer will throw a puzzling NullPointerException:
> {code}
> at org.apache.kafka.common.utils.Utils.utf8Length(Utils.java:245)
> at org.apache.kafka.common.protocol.types.Type$6.sizeOf(Type.java:248)
> at
> org.apache.kafka.common.protocol.types.ArrayOf.sizeOf(ArrayOf.java:85)
> at org.apache.kafka.common.protocol.types.Schema.sizeOf(Schema.java:89)
> at org.apache.kafka.common.protocol.types.Struct.sizeOf(Struct.java:244)
> at
> org.apache.kafka.common.requests.RequestSend.serialize(RequestSend.java:35)
> at
> org.apache.kafka.common.requests.RequestSend.<init>(RequestSend.java:29)
> at
> org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.request(NetworkClient.java:616)
> at
> org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.maybeUpdate(NetworkClient.java:639)
> at
> org.apache.kafka.clients.NetworkClient$DefaultMetadataUpdater.maybeUpdate(NetworkClient.java:552)
> at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:258)
> at
> org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.clientPoll(ConsumerNetworkClient.java:360)
> at
> org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:224)
> at
> org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:192)
> at
> org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:163)
> at
> org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureCoordinatorReady(AbstractCoordinator.java:179)
> at
> org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:970)
> at
> org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:934)
> {code}
> Maybe it's better to remove null when doing subscription.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)