Tarantool CDC 0.12.0
Дата релиза: 2026-08-06.
Внимание: Релиз не рекомендован к использованию (deprecated). Обновитесь до Tarantool CDC 0.12.2 или новее.
Документ описывает новые функции, улучшения, несовместимые изменения и известные проблемы релиза Tarantool CDC 0.12.0.
Коннекторы для очереди TQE переведены на новые реализации, работающие с TQE 3.x:
TQESourceConnector и TQESinkConnector. Прежние реализации для TQE 2.x сохранены
под именами TQEv2SourceConnector и TQEv2SinkConnector. Это позволяет использовать
актуальную версию TQE в новых установках, не прерывая работу существующих конвейеров
на TQE 2.x. Описание параметров коннекторов см. в разделе
Коннекторы TQE.
Добавлено преобразование одиночных сообщений (SMT) JsonifyNested: вложенные
поля STRUCT, ARRAY и MAP в секциях after и before записи преобразуются в
JSON-строки, а исходная информация о типах сохраняется в параметрах схемы
(__cdc.schema.type, __cdc.schema.name). Преобразование применяется к топикам
из параметра topics. JsonifyNested заменяет удалённый режим плоской схемы
tarantool.record.schema=flat (см. раздел «Несовместимые изменения»).
В Elasticsearch Sink connector добавлен параметр index.mapping.dynamic,
управляющий добавлением новых полей в маппинг индекса: TRUE (по умолчанию),
RUNTIME, FALSE, STRICT. Значение задаётся для каждого индекса отдельно или
единое для всех индексов через ключ __common__. Позволяет предотвратить
неконтролируемый рост маппинга и отклонять записи с неожиданными полями.
В Elasticsearch Sink connector добавлена аутентификация по API key
(параметр auth.api-key, токен в кодировке BASE64) как альтернатива базовой
аутентификации. При указании имеет приоритет над базовой аутентификацией.
В Helm-чарте добавлена передача учётных данных Универсальному Обработчику из
Kubernetes Secret: параметры secretRefs в разделах sources/sinks и
переопределения sourceSecretRefs/sinkSecretRefs для отдельного конвейера.
Секреты подключаются как переменные окружения через valueFrom.secretKeyRef,
исключаются из ConfigMap с application.yaml и учитываются в хеше конфигурации,
что инициирует перезапуск подов при их изменении. Учётные данные больше не
хранятся в открытом виде в значениях Helm-чарта и ConfigMap.
В преобразовании SMT Remap отсутствующие поля структур допустимы и переносятся как null-значения. Упрощает настройку преобразований для Источников с неоднородной схемой данных.
В конфигурацию клиента Tarantool Sink connector добавлен параметр
connectTimeout — таймаут установления подключения к Tarantool.
Расширена поддержка типов даты и времени: формат даты без времени (YYYY-MM-DD), целочисленный тип для временных полей, корректная обработка дат ранее 1970-01-01, улучшенные сообщения об ошибках преобразования типов.
Перед обновлением до версии 0.12.0 необходимо изменить конфигурацию Tarantool Source connector.
Из всех имён параметров удалён префикс tarantool., часть параметров удалена
или заменена. Конфигурации коннектора, созданные для предыдущих версий, должны
быть обновлены:
Прежнее имя параметра | Новое имя параметра | Примечание |
|---|---|---|
tarantool.connect.host | connect.targets | |
tarantool.connect.username | connect.username | |
tarantool.connect.password | connect.password | |
tarantool.connect.timeout | connect.timeout | |
tarantool.replicaset.type | connect.adapter | cartridge/tdg2 → tarantool/tdg2 |
tarantool.replication.type | replication.anonymous | Перечисление заменено логическим параметром |
tarantool.replication.idle.timeout | replication.idle.timeout | |
tarantool.replication.start.lsn | replication.start.lsn | |
group.id | replication.id | |
tarantool.topic.name | — | Удалён; топик всегда <prefix>.<space> |
tarantool.topic.strategy | — | Удалён; доступны только топики по спейсам |
tarantool.batch.size | max.batch.size | Наследуется из Debezium |
tarantool.queue.size | max.queue.size | Наследуется из Debezium |
tarantool.spaces.ids | — | Удалён |
tarantool.spaces.include | spaces.include | |
tarantool.spaces.exclude | spaces.exclude | |
tarantool.spaces.fields.include | fields.include | |
tarantool.spaces.fields.exclude | fields.exclude | |
tarantool.record.schema | — | Заменён SMT JsonifyNested |
tarantool.integer.handling.mode | integer.handling.mode | |
tarantool.datetime.zone.enabled | datetime.zone.enabled | |
space.output.format | spaces.output.format | |
snapshot.mode | snapshot.mode | Без изменений |
Записи, которые ранее публиковались в единый топик (например, cdc), теперь
публикуются в топики вида <prefix>.<space_name> (например, cdc.User).
Потребителей необходимо перенастроить на новые имена топиков или на подписку
по шаблону (например, cdc.*).
Параметр tarantool.record.schema=flat удалён из Tarantool Source connector.
Для прежнего поведения добавьте в его конфигурацию преобразование
JsonifyNested и укажите целевые топики в параметре topics (см. раздел
«Описание новых функций»).
- Универсальный Обработчик больше не отправляет в Tarantool Sink connector пустые пачки событий (например, образующиеся после фильтрации heartbeat-событий) — исключены лишние вызовы Приемника.
- Параметр
offset.failures.max.countбольше не является обязательным (значение по умолчанию —0): Обработчик запускается без явного указания этого ключа в конфигурации. - Пакет поставки переформатирован в два самодостаточных архива
(
tarantool-cdc-bundle-ubuntu-*иtarantool-cdc-bundle-redos-*), каждый из которых содержит Docker-образcdc-worker-all, Helm-чарт, дашборд Grafana, каталогplugins/и JAR-файл Универсального Обработчика. Имя JAR-файла в бандле соответствует версии релиза (cdc-worker-<версия>.jar). - Helm-чарт поставляется в бандле в распакованном виде (каталог
helm-chart-cdc/): после распаковки бандла чарт сразу готов к использованию.
Актуальный перечень известных проблем, затронутых версий и способов обхода приведён на странице Известные проблемы.
- Версия Debezium обновлена с 3.2.7.Final до 3.6.0.Final.
- Руководство по установке — требования к окружению, состав пакета поставки, порядок установки.
- Настройка Универсального Обработчика —
разделы конфигурации
source,sink,offset,throttle. - Коннекторы — настройка коннекторов Источников и Приемников, начальный снимок данных.
- Руководство пользователя — примеры настройки конвейеров передачи данных.