diff --git a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlConnection.java b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlConnection.java index e665b4f5..0eeef9f5 100644 --- a/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlConnection.java +++ b/parse/src/main/java/com/alibaba/otter/canal/parse/inbound/mysql/MysqlConnection.java @@ -297,9 +297,15 @@ public class MysqlConnection implements ErosaConnection { logger.warn("update mariadb_slave_capability failed", e); } - long periodNano = TimeUnit.SECONDS.toNanos(MASTER_HEARTBEAT_PERIOD_SECONDS); + /** + * MASTER_HEARTBEAT_PERIOD sets the interval in seconds between replication heartbeats. + * Whenever the master's binary log is updated with an event, the waiting period for the next heartbeat is reset. + * interval is a decimal value having the range 0 to 4294967 seconds and a resolution in milliseconds; + * the smallest nonzero value is 0.001. Heartbeats are sent by the master only if there are no unsent events + * in the binary log file for a period longer than interval. + */ try { - update("SET @master_heartbeat_period=" + periodNano); + update("SET @master_heartbeat_period=" + MASTER_HEARTBEAT_PERIOD_SECONDS); } catch (Exception e) { logger.warn("update master_heartbeat_period failed", e); }