Skip to content

Commit

Permalink
修复:MASTER_HEARTBEAT_PERIOD 的计量单位是秒(可以包含3位小数表示毫秒),但不是纳秒。
Browse files Browse the repository at this point in the history
  • Loading branch information
Wu-Jianqiang committed Feb 26, 2018
1 parent 8ad603f commit 06e7f44
Showing 1 changed file with 8 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -297,9 +297,15 @@ private void updateSettings() throws IOException {
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);
}
Expand Down

0 comments on commit 06e7f44

Please sign in to comment.