diff --git a/client-adapter/launcher/src/main/java/com/alibaba/otter/canal/adapter/launcher/loader/AbstractCanalAdapterWorker.java b/client-adapter/launcher/src/main/java/com/alibaba/otter/canal/adapter/launcher/loader/AbstractCanalAdapterWorker.java index 6f21ebd5..ff88560c 100644 --- a/client-adapter/launcher/src/main/java/com/alibaba/otter/canal/adapter/launcher/loader/AbstractCanalAdapterWorker.java +++ b/client-adapter/launcher/src/main/java/com/alibaba/otter/canal/adapter/launcher/loader/AbstractCanalAdapterWorker.java @@ -201,7 +201,11 @@ public abstract class AbstractCanalAdapterWorker { List dmlsBatch = new ArrayList<>(); for (Dml dml : dmls) { dmlsBatch.add(dml); - len += dml.getData().size(); + if (dml.getData() == null || dml.getData().isEmpty()) { + len += 1; + } else { + len += dml.getData().size(); + } if (len >= canalClientConfig.getSyncBatchSize()) { adapter.sync(dmlsBatch); dmlsBatch.clear();