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

Reply via email to