diff options
author | Dmitriy Rabotyagov <noonedeadpunk@ya.ru> | 2020-07-29 17:10:19 +0300 |
---|---|---|
committer | Dmitriy Rabotyagov (noonedeadpunk) <noonedeadpunk@ya.ru> | 2020-07-29 15:43:06 +0000 |
commit | 9aa22c34ca29d0adcc9ad0154a6476ef799f058a (patch) | |
tree | 1f0bb4f6689f2375c5986d0984718fafc7c7e640 | |
parent | fca43df8973f20d075cddecc6b7f65381e0e7a13 (diff) | |
download | tooz-9aa22c34ca29d0adcc9ad0154a6476ef799f058a.tar.gz |
Use safe_decode for decoding in zookeeper driver2.7.1
Current behaviour leds to AttributeError because py3 don't have decode
attribut for the string objects. So it's better to use safe_decode from
oslo_utils.encodeutils for that purpose
Change-Id: I22ce4212381511e2b2631a97057d6da938024b99
-rw-r--r-- | tooz/drivers/zookeeper.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/tooz/drivers/zookeeper.py b/tooz/drivers/zookeeper.py index e08708b..9c17299 100644 --- a/tooz/drivers/zookeeper.py +++ b/tooz/drivers/zookeeper.py @@ -443,7 +443,9 @@ class KazooDriver(coordination.CoordinationDriverCachedRunWatchers): cleaned_args = [] for arg in args: if isinstance(arg, bytes): - cleaned_args.append(arg.decode('ascii')) + cleaned_args.append( + encodeutils.safe_decode(arg, incoming='ascii') + ) else: cleaned_args.append(arg) return paths.join(*cleaned_args) @@ -500,7 +502,7 @@ class KazooDriver(coordination.CoordinationDriverCachedRunWatchers): if group_id not in self._leader_locks: self._leader_locks[group_id] = self._coord.Lock( self._path_group(group_id) + "/leader", - self._member_id.decode('ascii')) + encodeutils.safe_decode(self._member_id, incoming='ascii')) return self._leader_locks[group_id] def get_leader(self, group_id): @@ -514,7 +516,7 @@ class KazooDriver(coordination.CoordinationDriverCachedRunWatchers): def get_lock(self, name): z_lock = self._coord.Lock( self._paths_join(b"/", self._namespace, b"locks", name), - self._member_id.decode('ascii')) + encodeutils.safe_decode(self._member_id, incoming='ascii')) return ZooKeeperLock(name, z_lock) def run_elect_coordinator(self): |