#java #apache-kafka-connect #confluent-platform #debezium
#java #apache-kafka-connect #confluent-платформа #debezium
Вопрос:
Мы размещаем кластер контейнеров Confluent Connect версии 5.01 в Amazon EKS для запуска нескольких экземпляров соединителя Debezium для SQL Server версии 0.9.5. Иногда, когда мы перенастраиваем один из этих соединителей, он запускает перебалансировку, и один соединитель (не всегда один и тот же), похоже, выходит из строя ипотребляет всю память, выделенную для контейнера. Это заполняет наши журналы десятками тысяч незначительных изменений следующей записи журнала …
INFO Skipping change ChangeTablePointer [changeTable=Capture instance "REDACTED" [sourceTableId=REDACTED, changeTableId=REDACTED, startLsn=008e7c10:00313f98:0010, changeTableObjectId=914583783, stopLsn=NULL], resultSet=SQLServerResultSet:2825973, completed=false, currentChangePosition=008e9893:00010320:0035(008e9893:00010230:0046)] as its position is smaller than the last recorded position 008e9893:00010320:0035(008e9893:00010320:0033) (io.debezium.connector.sqlserver.SqlServerStreamingChangeEventSource)
… прежде чем, наконец, достичь предела памяти контейнера, что приводит к отключению контейнера.
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "kafka-producer-network-thread | REDACTED-dbhistory"
Это запускает другую перебалансировку, которая перезапускает цикл.
Мы отследили проблему до этой строки кода в Debezium, которая, похоже, указывает на то, что соединитель пытается найти, где он остановился при перезапуске, но потребляет слишком много памяти в процессе. Мы будем признательны за любые предложения, которые вы могли бы предложить, чтобы помочь нам отследить и решить проблему.
Комментарии:
1. 0.9.5, это древний 🙂 Не могли бы вы сначала попробовать с 1.2.5.Final и сообщить нам, присутствует ли там проблема? Если да, то давайте углубимся в детали.
2. Отчет: мы обновились до Kafka v2.3, Connect v5.5 и Debezium v1.2.5 и с тех пор не сталкивались с этой проблемой. Я добавлю больше информации к этому вопросу, если он вернется, но в противном случае, я думаю, мы можем предположить, что обновление было решением. Спасибо!