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