From 435db30b7bc1eb25d8bed4d617330d7eb22f0de6 Mon Sep 17 00:00:00 2001 From: zavakid Date: Fri, 18 Sep 2020 00:51:10 +0800 Subject: [PATCH] = performance improve - using bulk operation instead of iteration if possible - terminate loop after condition is met --- .../canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java | 4 +--- .../otter/canal/sink/entry/HeartBeatEntryEventHandler.java | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java index e86b4802..bc910d09 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/tsdb/DatabaseTableMeta.java @@ -191,9 +191,7 @@ public class DatabaseTableMeta implements TableMetaTSDB { try { ResultSetPacket packet = connection.query("show databases"); List schemas = new ArrayList<>(); - for (String schema : packet.getFieldValues()) { - schemas.add(schema); - } + schemas.addAll(packet.getFieldValues()); for (String schema : schemas) { // filter views diff --git a/sink/src/main/java/com/alibaba/otter/canal/sink/entry/HeartBeatEntryEventHandler.java b/sink/src/main/java/com/alibaba/otter/canal/sink/entry/HeartBeatEntryEventHandler.java index e74e3e5e..bd93cc48 100644 --- a/sink/src/main/java/com/alibaba/otter/canal/sink/entry/HeartBeatEntryEventHandler.java +++ b/sink/src/main/java/com/alibaba/otter/canal/sink/entry/HeartBeatEntryEventHandler.java @@ -20,6 +20,7 @@ public class HeartBeatEntryEventHandler extends AbstractCanalEventDownStreamHand for (Event event : events) { if (event.getEntryType() == EntryType.HEARTBEAT) { existHeartBeat = true; + break; } }