great, thanks!

On Thu, May 12, 2016 at 9:57 PM, Guozhang Wang <wangg...@gmail.com> wrote:
> Filed https://issues.apache.org/jira/browse/KAFKA-3708
>
> As for your case now, you can see if setting KafkaStreams.
> setUncaughtExceptionHandler works for you or not.
> In the future, it maybe better handling them in the library and stop the
> process since they are not really recoverable.
>
> Guozhang
>
> On Thu, May 12, 2016 at 6:57 PM, Guozhang Wang <wangg...@gmail.com> wrote:
>
>> After looking at the source code (trunk), I think this is a bug that there
>> are some cases where KafkaExceptions are not logged in log4j yet before it
>> pop up to the StreamThread. I will file a JIRA for this issue.
>>
>>
>> Guozhang
>>
>> On Thu, May 12, 2016 at 5:57 PM, Greg Fodor <gfo...@gmail.com> wrote:
>>
>>> Hey Guozhang, output was silent (since the log4j is streaming it to a
>>> log file) except for the stack trace landing in stdout, i'm assuming
>>> from the rethrow:
>>>
>>> Exception in thread "StreamThread-9"
>>> org.apache.kafka.common.errors.SerializationException: Error
>>> serializing Avro message
>>>
>>> Caused by: java.lang.NullPointerException: null of
>>> com.altvr.schema.jobs.RoomViewId in field source_view_id of
>>> com.altvr.schema.jobs.ViewBroadcastKey
>>>
>>>         at
>>> org.apache.avro.generic.GenericDatumWriter.npe(GenericDatumWriter.java:93)
>>>
>>>         at
>>> org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:87)
>>>
>>>         at
>>> org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:58)
>>>
>>>         at
>>> io.confluent.kafka.serializers.AbstractKafkaAvroSerializer.serializeImpl(AbstractKafkaAvroSerializer.java:65)
>>>
>>>         at
>>> io.confluent.kafka.serializers.KafkaAvroSerializer.serialize(KafkaAvroSerializer.java:61)
>>>
>>>         at
>>> com.altvr.streams.serializers.SpecificKafkaAvroSerializer.serialize(SpecificKafkaAvroSerializer.java:27)
>>>
>>>         at
>>> com.altvr.streams.serializers.SpecificKafkaAvroSerializer.serialize(SpecificKafkaAvroSerializer.java:10)
>>>
>>>         at
>>> org.apache.kafka.streams.state.StateSerdes.rawKey(StateSerdes.java:103)
>>>
>>>         at
>>> org.apache.kafka.streams.state.internals.RocksDBStore.get(RocksDBStore.java:229)
>>>
>>>         at
>>> org.apache.kafka.streams.state.internals.MeteredKeyValueStore.get(MeteredKeyValueStore.java:100)
>>>
>>>         at
>>> com.altvr.streams.jobs.RoomOperationMessageProcessor.hasBegunBroadcastingRootViewToSpace(RoomOperationMessageProcessor.java:407)
>>>
>>>         at
>>> com.altvr.streams.jobs.RoomOperationMessageProcessor.setupOrTeardownBroadcasts(RoomOperationMessageProcessor.java:377)
>>>
>>>         at
>>> com.altvr.streams.jobs.RoomOperationMessageProcessor.forwardMessagesForBroadcasts(RoomOperationMessageProcessor.java:106)
>>>
>>>         at
>>> com.altvr.streams.jobs.BroadcastPhotonMessages$1.transform(BroadcastPhotonMessages.java:193)
>>>
>>>         at
>>> com.altvr.streams.jobs.BroadcastPhotonMessages$1.transform(BroadcastPhotonMessages.java:167)
>>>
>>>         at
>>> org.apache.kafka.streams.kstream.internals.KStreamTransform$KStreamTransformProcessor.process(KStreamTransform.java:57)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.ProcessorNode.process(ProcessorNode.java:68)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.StreamTask.forward(StreamTask.java:338)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.ProcessorContextImpl.forward(ProcessorContextImpl.java:187)
>>>
>>>         at
>>> org.apache.kafka.streams.kstream.internals.KStreamKTableLeftJoin$KStreamKTableLeftJoinProcessor.process(KStreamKTableLeftJoin.java:61)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.ProcessorNode.process(ProcessorNode.java:68)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.StreamTask.forward(StreamTask.java:338)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.ProcessorContextImpl.forward(ProcessorContextImpl.java:187)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.SourceNode.process(SourceNode.java:64)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.StreamTask.process(StreamTask.java:174)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.StreamThread.runLoop(StreamThread.java:352)
>>>
>>>         at
>>> org.apache.kafka.streams.processor.internals.StreamThread.run(StreamThread.java:250)
>>>
>>> Caused by: java.lang.NullPointerException
>>>
>>>         at
>>> org.apache.avro.generic.GenericData.getField(GenericData.java:580)
>>>
>>>         at
>>> org.apache.avro.generic.GenericData.getField(GenericData.java:595)
>>>
>>>         at
>>> org.apache.avro.generic.GenericDatumWriter.writeField(GenericDatumWriter.java:112)
>>>
>>>         at
>>> org.apache.avro.generic.GenericDatumWriter.writeRecord(GenericDatumWriter.java:104)
>>>
>>>         at
>>> org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:66)
>>>
>>>         at
>>> org.apache.avro.generic.GenericDatumWriter.writeField(GenericDatumWriter.java:114)
>>>
>>>         at
>>> org.apache.avro.generic.GenericDatumWriter.writeRecord(GenericDatumWriter.java:104)
>>>
>>>         at
>>> org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:66)
>>>
>>>
>>>
>>> On Thu, May 12, 2016 at 5:09 PM, Guozhang Wang <wangg...@gmail.com>
>>> wrote:
>>> > Greg,
>>> >
>>> > Could you post the output from stdout when running the console as well?
>>> >
>>> >
>>> > Guozhang
>>> >
>>> > On Thu, May 12, 2016 at 4:52 PM, Greg Fodor <gfo...@gmail.com> wrote:
>>> >
>>> >> We noticed that some errors were happening in one of our KafkaStreams
>>> >> jobs but they were not appearing in our logs or being sent to our
>>> >> error reporting service (Airbrake) -- they only became visible on
>>> >> stdout when running from the console. I believe the reason is because
>>> >> of this explicit catch-rethrow of KafkaExceptions in the main run loop
>>> >> of the StreamThread:
>>> >>
>>> >>
>>> >>
>>> https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/processor/internals/StreamThread.java#L219
>>> >>
>>> >> What's the proper way for these exceptions to be getting logged? The
>>> >> comment indicates they should be getting logged but they are not being
>>> >> processed by our loggers in log4j.properties. Here is our properties
>>> >> file:
>>> >>
>>> >> https://gist.github.com/gfodor/7d9a2102bde5f2dc062ead4e9551e670
>>> >>
>>> >> Thanks!
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > -- Guozhang
>>>
>>
>>
>>
>> --
>> -- Guozhang
>>
>
>
>
> --
> -- Guozhang

Reply via email to