diff options
author | Nguyen Thanh Cong <ntcong1705@gmail.com> | 2020-11-20 10:00:09 +0700 |
---|---|---|
committer | Lingxian Kong <anlin.kong@gmail.com> | 2020-11-30 09:56:58 +0000 |
commit | 753252ab1c2248831403b04ebb4652d083c6278b (patch) | |
tree | 16a93348f8df48edcbf70ffa896a36b777c22788 | |
parent | d6b35435e0114c663ab481680371de45acd99c2e (diff) | |
download | trove-753252ab1c2248831403b04ebb4652d083c6278b.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
(cherry picked from commit df82af30f21b89097597bf471c2aa5a08d19386c)
-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): |