Debezium Извлечение состояния новой записи SMT не работает должным образом в случае УДАЛЕНИЯ

#apache-kafka #apache-kafka-connect #debezium

#апач-кафка #apache-кафка-подключение #дебезиум

Вопрос:

Я пытаюсь применить Debezium, New Record State Extraction SMT используя следующую конфигурацию:

 "transforms": "unwrap", "transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState", "transforms.unwrap.drop.tombstones": true, "transforms.unwrap.delete.handling.mode": "rewrite", "transforms.unwrap.add.fields": "db,schema,table,txId,ts_ms"  

Для INSERT UPDATE операций и я получаю сообщения, как и ожидалось, но в случае DELETE , если я получаю следующее в качестве полезной нагрузки:

 "payload": {  "id": 2,  "first_name": "",  "last_name": "",  "__db": "postgres",  "__schema": "schema1",  "__table": "user_details",  "__txId": 5145,  "__ts_ms": 1638760801510,  "__deleted": "true"  }  

Как вы можете видеть выше, оба first_name last_name поля и имеют пустые значения, хотя запись, которую я удалил, имеет непустые значения для обоих этих полей. Что я ожидаю увидеть в качестве значения для этих 2 полей, так это их значение на момент удаления, как показано в разделе полезной before нагрузки debezium в случае, если New Record State Extraction SMT оно не применяется.