[
https://issues.apache.org/jira/browse/SAMZA-643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14536140#comment-14536140
]
Gustavo Anatoly commented on SAMZA-643:
---------------------------------------
In this case rather than just improve error message when topic is null, we
could check if topic is null and generate with UUID or use other method to set
a new stream name. Thus we could avoid break down the stream flow and NPE
exceptions.
Suggestions?
> Improve error message for null stream in OutgoingMessageEnvelope
> ----------------------------------------------------------------
>
> Key: SAMZA-643
> URL: https://issues.apache.org/jira/browse/SAMZA-643
> Project: Samza
> Issue Type: Improvement
> Components: kafka
> Affects Versions: 0.9.0
> Reporter: Roger Hoover
> Priority: Minor
> Labels: newbie
> Fix For: 0.10.0
>
>
> If you accidentally pass null as the stream name in an
> OutgoingMessageEnvelope, you get an NPE in the producer IO thread for Kafka.
> The Kafka producer shouldn't really throw NPE for this
> (https://issues.apache.org/jira/browse/KAFKA-2105) but Samza should probably
> throw a more friendly error sooner.
> Uncaught error in kafka producer I/O thread:
> java.lang.NullPointerException
> at org.apache.kafka.common.utils.Utils.utf8Length(Utils.java:174)
> at org.apache.kafka.common.protocol.types.Type$5.sizeOf(Type.java:176)
> at
> org.apache.kafka.common.protocol.types.ArrayOf.sizeOf(ArrayOf.java:55)
> at org.apache.kafka.common.protocol.types.Schema.sizeOf(Schema.java:81)
> at org.apache.kafka.common.protocol.types.Struct.sizeOf(Struct.java:218)
> 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.metadataRequest(NetworkClient.java:369)
> at
> org.apache.kafka.clients.NetworkClient.maybeUpdateMetadata(NetworkClient.java:391)
> at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:188)
> at
> org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:191)
> at
> org.apache.kafka.clients.producer.internals.Sender.run(Sender.java:122)
> at java.lang.Thread.run(Thread.java:745)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)