diff options
author | Nguyen Thanh Cong <ntcong1705@gmail.com> | 2020-11-20 10:00:09 +0700 |
---|---|---|
committer | Nguyen Thanh Cong <ntcong1705@gmail.com> | 2020-11-20 10:06:01 +0700 |
commit | df82af30f21b89097597bf471c2aa5a08d19386c (patch) | |
tree | b69f72a818d06680bab234daf6e738b38de3ac30 | |
parent | 97e0a940dfa9e0405549347e6898d655ee8833c2 (diff) | |
download | trove-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.py | 6 |
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): |