我有一种情况,拓扑的第一部分是基于Avro模式对来自Kafka主题的消息进行反序列化,对于遵循正确模式的消息,反序列化工作正常,并且当消息只是其他任何东西时,抛出AvroRuntimeException无法反序列化,尽管我正在捕获异常并确认了元组,但是却遇到了工伤死亡错误,这与风暴配置有关吗?
@Override
public void execute(Tuple input) {
byte[] bytes = null;
try {
bytes = getBinaryFieldFromTuple(input);
if (ArrayUtils.isEmpty(bytes)) {
log.error("Received empty byte[] - skipping.");
return;
}
Message<E> message = getMessageDecoder().decode(bytes);
E payload = message.getPayload();
emit(input, getValuesToEmit(payload, message.getHeaders()));
} catch (Exception ex) {
log.error("Error while deserializing: {}", bytes, ex);
} finally {
ack(input);
}
}
我看不到具体原因。