DBZ-7098 Converting engine should honor unsupported tombstone flag
This commit is contained in:
parent
13703c7457
commit
7a80c9dae8
@ -95,10 +95,17 @@ private static boolean isFormat(Class<? extends SerializationFormat<?>> format1,
|
||||
return format1 == format2;
|
||||
}
|
||||
|
||||
private class ConvertingChangeConsumer implements ChangeConsumer<SourceRecord> {
|
||||
|
||||
private final ChangeConsumer<R> handler;
|
||||
|
||||
private ConvertingChangeConsumer(ChangeConsumer<R> handler) {
|
||||
this.handler = handler;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<R> notifying(ChangeConsumer<R> handler) {
|
||||
delegate.notifying(
|
||||
(records, committer) -> handler.handleBatch(records.stream()
|
||||
public void handleBatch(List<SourceRecord> records, RecordCommitter<SourceRecord> committer) throws InterruptedException {
|
||||
handler.handleBatch(records.stream()
|
||||
.map(x -> toFormat.apply(x))
|
||||
.collect(Collectors.toList()),
|
||||
new RecordCommitter<R>() {
|
||||
@ -114,7 +121,8 @@ public void markBatchFinished() throws InterruptedException {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void markProcessed(R record, DebeziumEngine.Offsets sourceOffsets) throws InterruptedException {
|
||||
public void markProcessed(R record, DebeziumEngine.Offsets sourceOffsets)
|
||||
throws InterruptedException {
|
||||
committer.markProcessed(fromFormat.apply(record), sourceOffsets);
|
||||
}
|
||||
|
||||
@ -122,7 +130,18 @@ public void markProcessed(R record, DebeziumEngine.Offsets sourceOffsets) throws
|
||||
public DebeziumEngine.Offsets buildOffsets() {
|
||||
return committer.buildOffsets();
|
||||
}
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean supportsTombstoneEvents() {
|
||||
return handler.supportsTombstoneEvents();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Builder<R> notifying(ChangeConsumer<R> handler) {
|
||||
delegate.notifying(new ConvertingChangeConsumer(handler));
|
||||
return this;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user