From 90c738d83a4897f1292d38c59e99a4e80945b578 Mon Sep 17 00:00:00 2001 From: Oleksii Kliukin Date: Mon, 19 Oct 2015 16:03:21 +0200 Subject: [PATCH] Address the code review by Alex. --- patroni/etcd.py | 4 ++-- patroni/postgresql.py | 9 +++------ patroni/zookeeper.py | 8 ++++---- tests/test_postgresql.py | 2 +- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/patroni/etcd.py b/patroni/etcd.py index c20d73ab0..93ef2a2c1 100644 --- a/patroni/etcd.py +++ b/patroni/etcd.py @@ -236,8 +236,8 @@ def update_leader(self): return self.retry(self.client.test_and_set, self.leader_path, self._name, self._name, self.ttl) @catch_etcd_errors - def initialize(self, create_new=True, sysid=None): - return self.retry(self.client.write, self.initialize_path, sysid or "", prevExist=(not create_new)) + def initialize(self, create_new=True, sysid=""): + return self.retry(self.client.write, self.initialize_path, sysid, prevExist=(not create_new)) @catch_etcd_errors def delete_leader(self): diff --git a/patroni/postgresql.py b/patroni/postgresql.py index 165057e65..9ac0d69a0 100644 --- a/patroni/postgresql.py +++ b/patroni/postgresql.py @@ -101,16 +101,13 @@ def can_rewind(self): return False # check if the cluster's configuration permits pg_rewind data = self.controldata() - if data: - return data.get('wal_log_hints setting', 'off') == 'on' or\ - data.get('Data page checksum version', '0') != '0' - return False + return data.get('wal_log_hints setting', 'off') == 'on' or data.get('Data page checksum version', '0') != '0' @property def sysid(self): if not self._sysid: data = self.controldata() - self._sysid = data and data.get('Database system identifier', None) + self._sysid = data.get('Database system identifier', "") return self._sysid def require_rewind(self): @@ -399,7 +396,7 @@ def controldata(self): try: data = subprocess.check_output(['pg_controldata', self.data_dir]) if data: - data = data.splitlines() + data = data.decode().splitlines() result = {l.split(':')[0].replace('Current ', '', 1): l.split(':')[1].strip() for l in data if l} except subprocess.CalledProcessError: logger.exception("Error when calling pg_controldata") diff --git a/patroni/zookeeper.py b/patroni/zookeeper.py index d3e4fd57f..ba31e7563 100644 --- a/patroni/zookeeper.py +++ b/patroni/zookeeper.py @@ -139,7 +139,7 @@ def _inner_load_cluster(self): self.fetch_cluster = True # get initialize flag - initialize = self.get_node(self._INITIALIZE)[0] if self._INITIALIZE in nodes else None + initialize = self.get_node(self.initialize_path)[0] if self._INITIALIZE in nodes else None # get list of members members = self.load_members() if self._MEMBERS[:-1] in nodes else [] @@ -203,9 +203,9 @@ def set_failover_value(self, value, index=None): logging.exception('set_failover_value') return False - def initialize(self, create_new=True, sysid=None): - return self._create(self.initialize_path, sysid if sysid else "", makepath=True) if create_new \ - else self.client.retry(self.client.set, self.initialize_path, sysid.encode("utf-8") if sysid else "") + def initialize(self, create_new=True, sysid=""): + return self._create(self.initialize_path, sysid, makepath=True) if create_new \ + else self.client.retry(self.client.set, self.initialize_path, sysid.encode("utf-8")) def touch_member(self, data, ttl=None): cluster = self.cluster diff --git a/tests/test_postgresql.py b/tests/test_postgresql.py index 544f8afde..c46281351 100644 --- a/tests/test_postgresql.py +++ b/tests/test_postgresql.py @@ -86,7 +86,7 @@ def __exit__(self, *args): def pg_controldata_string(*args, **kwargs): - return """ + return b""" pg_control version number: 942 Catalog version number: 201509161 Database system identifier: 6200971513092291716