Итак, у меня есть случай использования, когда у меня есть соединитель kafka, который использует массив байтов avro из раздела kafka и преобразует его в объект Avro. Это кажется достаточно простым, но я понял, что если десериализация не удалась по какой-то причине, например, не соответствует схеме или чему-то другому, то единственные варианты обработки, которые либо регистрируют ошибку и выводят пустой байтовый массив, либо выдают ошибку (что я и делаю не вижу хорошей идеи для длительной работы).
Но если десериализатор коннектора kafka просто принимает байтовый массив, выводит его, а функция процесса нисходящего потока выполняет проверку и преобразование, то, если происходит ошибка, она может записать ошибку как «сообщение об ошибке», pojo, на боковой вывод чтобы потом быть записанным в тему ошибки kafka, которая бы упростила отслеживание того, какие сообщения потерпели неудачу, и соответствующие данные намного легче.
Есть ли способ сделать это уже в логике сериализации коннектора kafka или это может иметь серьезные проблемы с производительностью (например, оптимизирована ли логика сериализации коннектора kafka для того, чтобы эти величины преобразования выполнялись быстрее, чем просто в нисходящей функции)?
Спасибо за любой вклад заранее!