приемник debezium JDBC удаляет и вставляет запись вместо простого ОБНОВЛЕНИЯ

#apache-kafka #debezium

Вопрос:

У меня есть приемник исходного кода SQL Server и эта конфигурация соединителя приемника JDBC:

 table.name.format=${topic} transforms.unwrap.delete.handling.mode=drop connection.password=xxxxxxx tasks.max=1 transforms=unwrap,route topics.regex=db.schema.table transforms.route.type=org.apache.kafka.connect.transforms.RegexRouter transforms.route.regex=([^.] ).([^.] ).([^.] ) delete.enabled=false auto.evolve=true connection.user=uuuuuu transforms.unwrap.drop.tombstones=false transforms.unwrap.type=io.debezium.transforms.ExtractNewRecordState auto.create=true connection.url=jdbc:sqlserver://server;databaseName=dbdb insert.mode=upsert transforms.route.replacement=$3 pk.mode=record_key  

Я хочу, чтобы запись удалялась в таблице приемника, когда она удаляется из исходной таблицы. Поэтому я меняю настройку delete.enabled = true . Но затем я получаю следующее поведение: если запись обновляется в источнике, запись удаляется и вставляется в приемник. Но если я изменю настройку delete.enabled = false назад, то поведение будет таким, как я ожидаю: ОБНОВЛЕНИЕ источника — ОБНОВЛЕНИЕ приемника.

Вопрос: Как избежать УДАЛЕНИЯ/ВСТАВКИ поведения при ОБНОВЛЕНИИ и разрешить удалять записи в соответствии с источником на приемниках?