From bf55a2492267d6872bd66ac2b25a2e93b9e1d5b0 Mon Sep 17 00:00:00 2001 From: Martin Pihlak Date: Thu, 10 Nov 2011 10:33:30 +0200 Subject: Master xarchive now runs "sync" on slave. This is an attempt at minimizing the chance of WAL file corruption on slave server crash -- master xarchive command does not return success until the the buffers on slave have been flushed to disk. --- python/walmgr.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'python/walmgr.py') diff --git a/python/walmgr.py b/python/walmgr.py index 7afc3c73..d4796401 100755 --- a/python/walmgr.py +++ b/python/walmgr.py @@ -1358,6 +1358,12 @@ STOP TIME: %(stop_time)s # copy data self.exec_rsync([ srcpath, dst_loc ], True) + # sync the buffers to disk - this is should reduce the chance + # of WAL file corruption in case the slave crashes. + slave = self.cf.get("slave") + cmdline = ["ssh", "-nT", slave, "sync" ] + self.exec_cmd(cmdline) + self.log.debug("%s: done", srcname) end_time = time.time() self.stat_add('count', 1) -- cgit v1.2.3