From aaf18ccd7e94150c89e49e2b16f875642818ca29 Mon Sep 17 00:00:00 2001 From: winger Date: Wed, 25 Jul 2018 10:18:15 +0800 Subject: [PATCH 1/2] fix issue #771 #756 --- .../driver/mysql/packets/client/BinlogDumpCommandPacket.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/client/BinlogDumpCommandPacket.java b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/client/BinlogDumpCommandPacket.java index 70624549..f0fba11a 100644 --- a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/client/BinlogDumpCommandPacket.java +++ b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/client/BinlogDumpCommandPacket.java @@ -54,7 +54,7 @@ public class BinlogDumpCommandPacket extends CommandPacket { // 1. write 4 bytes bin-log position to start at ByteHelper.writeUnsignedIntLittleEndian(binlogPosition, out); // 2. write 2 bytes bin-log flags - int binlog_flags = BINLOG_DUMP_NON_BLOCK; + int binlog_flags = 0; binlog_flags |= BINLOG_SEND_ANNOTATE_ROWS_EVENT; out.write(binlog_flags); out.write(0x00); From ccd1e52411809a796dccc13fd5b91f3557d9a1e7 Mon Sep 17 00:00:00 2001 From: winger Date: Wed, 25 Jul 2018 16:38:38 +0800 Subject: [PATCH 2/2] fix issue #771 #776 756 --- .../otter/canal/parse/inbound/AbstractEventParser.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/AbstractEventParser.java b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/AbstractEventParser.java index c8cdb1bd..7f7d39ac 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/AbstractEventParser.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/AbstractEventParser.java @@ -303,7 +303,12 @@ public abstract class AbstractEventParser extends AbstractCanalLifeCycle transactionBuffer.reset();// 重置一下缓冲队列,重新记录数据 binlogParser.reset();// 重新置位 if (multiStageCoprocessor != null) { - multiStageCoprocessor.reset(); + // 处理 RejectedExecutionException + try { + multiStageCoprocessor.reset(); + } catch (Throwable t) { + logger.debug("multi processor rejected:", t); + } } if (running) {