Description
The avro sink was stuck when I using the kafka channel which using the new APIs.
After couple of hours I found the issue at KafkaChannel.java#L384:
e.getHeaders().put(KEY_HEADER, record.key());
and change it to:
if (record.key() != null) {
e.getHeaders().put(KEY_HEADER, record.key());
}
The reason is:
record.key() could be null if the user didn't set it. And the avro serialize the event will throw a NullPointerException.