Всем привет. Есть вопрос по Debezium. Он крутится в кубере,

поды падают в крашлуп совершенно случайно и не системно на разных источниках данных. Есть корреляция с нагрузкой на базы: чем выше нагрузка в период работы, тем чаще падения (на тестовом контуре их вообще нет, на проде и в нерабочие часы меньше в разы). В логах баз ничего интересного. В логах дебезиума такая ошибка:
Error occurred in org.postgresql.util.PSQLException: Database connection failed when writing to copy in io.debezium.connector.postgresql.PostgresStreamingChangeEventSource.commitOffset(PostgresStreamingChangeEventSource.java:386)
io.debezium.pipeline.ChangeEventSourceCoordinator.commitOffset(ChangeEventSourceCoordinator.java:172)
io.debezium.connector.common.BaseSourceTask.commit(BaseSourceTask.java:284)
io.debezium.embedded.EmbeddedEngine.commitOffsets(EmbeddedEngine.java:1003)
io.debezium.embedded.EmbeddedEngine.maybeFlush(EmbeddedEngine.java:977)
io.debezium.embedded.EmbeddedEngine$4.markBatchFinished(EmbeddedEngine.java:916)
io.debezium.embedded.ConvertingEngineBuilder$1.markBatchFinished(ConvertingEngineBuilder.java:95)
com.quadcode.analytics.wal_to_kafka.processing.EventProcessor$Live.$anonfun$commit$2(EventProcessor.scala:84)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
simple.metrics.models.impls.MetricMeter.time(MetricMeter.scala:43)
com.quadcode.analytics.wal_to_kafka.processing.EventProcessor$Live.$anonfun$commit$1(EventProcessor.scala:82)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
zio.internal.FiberContext.evaluateNow(FiberContext.scala:490)
zio.internal.FiberContext.$anonfun$fork$17(FiberContext.scala:772)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
java.base/java.lang.Thread.run(Thread.java:834
Версия Debezium - 1.7.2.final

Что уже было сделано: проверена вся инфраструктура,
Был апдейт Debezium на 1.7.2.final Выше не стали, потому что там вроде как нужна Kafka 3, у нас только Kafka 2.

Из диагностики стало понятно что Debezium в какой-то момент времени закрывает коннект к базе, но не закрывает стрим в кафку. И пробует читать дальше wal. Но так как коннект закрыт падает с ошибкой.

Кто-то сталкивался с таким или просто может подтолкнуть куда копать? Идеи кончились.

1 ответов

49 просмотров

у JDBC драйвера Postgres есть параметр tcpKeepAlive=true, чтобы Postgres не закрывал подключение, в котором давно ничего не происходило

Похожие вопросы

Обсуждают сегодня

if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Это фейк @cruppto_newbot?
Antskup
13
всем салют сегодня утро заметил что бот не может отправлять фотки по url. ручками в браузере ссылка норм открывает фотки. падает ошибка 'Bad Request: failed to send message ...
Vasya Ivanov
9
ребят, привет. за какое время бот полученную заявку на вступление в группу может принять \отклонить? Помню речь была про 5 минут, сейчас как?
Роман Ромашин :)
10
Доброго времени суток. Правильно ли я понимаю, что с введением новой платежной единицы stars, я просто могу оставить текущую платёжку от Юкассы, которая выполняется на сайте с...
Prokhor Chulkov
7
вопрос: кто как решает вопрос с динамической подгрузкой скриптов для отдельных страниц с включенным turbo router?
Sergei Toroptsev
25
Добрый день! Не подскажете как к модели Категории Шопоголика добавить отношение Тейлора. Пробовал по документации, но не получается. Мб уже кто-то делал?
Николай Афанасенко
6
@veranikaEU получилось? Можно увидеть рабочий код?
Alex Kom
8
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
Карта сайта