You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/06/27 20:48:16 UTC

[jira] [Commented] (KAFKA-3905) remove null from subscribed topics in KafkaConsumer#subscribe

    [ https://issues.apache.org/jira/browse/KAFKA-3905?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15351785#comment-15351785 ] 

ASF GitHub Bot commented on KAFKA-3905:
---------------------------------------

GitHub user rekhajoshm opened a pull request:

    https://github.com/apache/kafka/pull/1561

    KAFKA-3905:remove null from subscribed topics in KafkaConsumer#subscribe

    KAFKA-3905:remove null from subscribed topics in KafkaConsumer#subscribe

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/rekhajoshm/kafka localtrunk

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/kafka/pull/1561.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 #1561
    
----

----


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