From 725960d46efc5032cc1c4d0ad0cdccc8b4262332 Mon Sep 17 00:00:00 2001 From: winger Date: Fri, 11 Jan 2019 14:00:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96TableMeta=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=A2=9E=E5=8A=A0=E4=B8=80=E6=AC=A1retry?= =?UTF-8?q?=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../parse/inbound/mysql/dbsync/TableMetaCache.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/TableMetaCache.java b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/TableMetaCache.java index 69b8a3e9..25554c29 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/TableMetaCache.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/dbsync/TableMetaCache.java @@ -166,9 +166,16 @@ public class TableMetaCache { if (tableMeta == null) { // 因为条件变化,可能第一次的tableMeta没取到,需要从db获取一次,并记录到snapshot中 String fullName = getFullName(schema, table); + ResultSetPacket packet = null; + String createDDL = null; try { - ResultSetPacket packet = connection.query("show create table " + fullName); - String createDDL = null; + try { + packet = connection.query("show create table " + fullName); + } catch (Exception e) { + // 尝试做一次retry操作 + connection.reconnect(); + packet = connection.query("show create table " + fullName); + } if (packet.getFieldValues().size() > 0) { createDDL = packet.getFieldValues().get(1); }