Ошибка схемы приложения KStream во время OuterJoinsJAVA

Программисты JAVA общаются здесь
Anonymous
Ошибка схемы приложения KStream во время OuterJoins

Сообщение Anonymous »

Я присоединяюсь к двум потокам с помощью Outerjoin, но получаю ошибку схемы для внутренней темы с подстрокой KSTREAM-OUTERSHARED-0000000014-store-changelog-value.
Зарегистрированная схема несовместима с более ранней схемой.
MISSING_UNION_BRANCH, объединению message:reader не хватает типа записи: RECORD.
Читатель имеет схему одной из тем, а писатель — схему другой поток.

Код: Выделить всё

var joinedStream = leftStream.outerJoin(rightStream,
(leftRecord,rightRecord) -> {
return leftRecord + rightRecord
},
JoinWindows.ofTimeDifferenceWithNoGrace(Duration.ofSeconds(10))
);
Обновление:
Я провел отладку и обнаружил, что порядок потока меняется. то есть;

Код: Выделить всё

rightStream.outerJoin(leftStream)
не вызвал никаких исключений. Впоследствии я понял, что обе записи, leftRecord и rightRecord, были одинаковыми. Теперь исключение имеет смысл, поскольку, поскольку обе записи были одинаковыми, внутренняя тема использовала схему leftRecord или rightRecord. Затем, когда обе записи относятся к соответствующему потоку, возникает исключение, поскольку схема отличается от исходной.
Я озадачен тем, что происходит. Насколько я понимаю, кандидат на присоединение не найден, тогда передается ноль. Похоже на ошибку

Подробнее здесь: https://stackoverflow.com/questions/784 ... outerjoins

Вернуться в «JAVA»