summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNguyen Thanh Cong <ntcong1705@gmail.com>2020-11-20 10:00:09 +0700
committerNguyen Thanh Cong <ntcong1705@gmail.com>2020-11-20 10:06:01 +0700
commitdf82af30f21b89097597bf471c2aa5a08d19386c (patch)
treeb69f72a818d06680bab234daf6e738b38de3ac30
parent97e0a940dfa9e0405549347e6898d655ee8833c2 (diff)
downloadtrove-df82af30f21b89097597bf471c2aa5a08d19386c.tar.gz
Get slave_pos to choose latest replica
Latest replica have slave_pos biggest, so we just need use slave_pos to compare replicas. Change-Id: Ic4e2c79f48bfcaea806babbf50d4757a9c153132
-rw-r--r--trove/guestagent/datastore/mariadb/service.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/trove/guestagent/datastore/mariadb/service.py b/trove/guestagent/datastore/mariadb/service.py
index aa603d99..891e37fb 100644
--- a/trove/guestagent/datastore/mariadb/service.py
+++ b/trove/guestagent/datastore/mariadb/service.py
@@ -57,10 +57,14 @@ class MariaDBApp(mysql_service.BaseMySqlApp):
with mysql_util.SqlClient(self.get_engine()) as client:
return client.execute('SELECT @@global.gtid_binlog_pos').first()[0]
+ def _get_gtid_slave_executed(self):
+ with mysql_util.SqlClient(self.get_engine()) as client:
+ return client.execute('SELECT @@global.gtid_slave_pos').first()[0]
+
def get_last_txn(self):
master_UUID = self._get_master_UUID()
last_txn_id = '0'
- gtid_executed = self._get_gtid_executed()
+ gtid_executed = self._get_gtid_slave_executed()
for gtid_set in gtid_executed.split(','):
uuid_set = gtid_set.split('-')
if str(uuid_set[1]) == str(master_UUID):