summaryrefslogtreecommitdiff
path: root/trove/guestagent/strategies/replication/mysql_gtid.py
diff options
context:
space:
mode:
Diffstat (limited to 'trove/guestagent/strategies/replication/mysql_gtid.py')
-rw-r--r--trove/guestagent/strategies/replication/mysql_gtid.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/trove/guestagent/strategies/replication/mysql_gtid.py b/trove/guestagent/strategies/replication/mysql_gtid.py
index 261f750b..f0e8137b 100644
--- a/trove/guestagent/strategies/replication/mysql_gtid.py
+++ b/trove/guestagent/strategies/replication/mysql_gtid.py
@@ -31,6 +31,10 @@ class MysqlGTIDReplication(mysql_base.MysqlReplicationBase):
last_gtid = self.read_last_master_gtid(service)
LOG.info("last_gtid value is %s", last_gtid)
if '-' in last_gtid:
+ # See
+ # https://avdeo.com/tag/error-1840-hy000-global-gtid_purged-can-only-be-set-when/
+ # Also, FLUSH PRIVILEGES will restore gtid_executed.
+ service.execute_sql('RESET MASTER')
set_gtid_cmd = "SET GLOBAL gtid_purged='%s'" % last_gtid
service.execute_sql(set_gtid_cmd)