From b5ebc60660f24e462ad5ee4aeb7028276f47d449 Mon Sep 17 00:00:00 2001 From: James Page Date: Tue, 11 Sep 2018 10:14:32 -0600 Subject: [PATCH] Ensure consistent encoding of strings for ID Ensure that ID's are correctly binary encoded when strings are provided, resolving compatibility issues with Python 3. Change-Id: Ia417920a7600aacd43f17b95ecd6a34b5faa226b Related-Bug: 1530888 --- tooz/drivers/etcd3.py | 4 ++-- tooz/drivers/memcached.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/tooz/drivers/etcd3.py b/tooz/drivers/etcd3.py index fc4290fd..619f60ab 100644 --- a/tooz/drivers/etcd3.py +++ b/tooz/drivers/etcd3.py @@ -160,10 +160,10 @@ class Etcd3Driver(coordination.CoordinationDriverCachedRunWatchers, GROUP_PREFIX = b"tooz/groups/" def _encode_group_id(self, group_id): - return self.GROUP_PREFIX + group_id + b"/" + return self.GROUP_PREFIX + utils.to_binary(group_id) + b"/" def _encode_group_member_id(self, group_id, member_id): - return self._encode_group_id(group_id) + member_id + return self._encode_group_id(group_id) + utils.to_binary(member_id) def create_group(self, group_id): encoded_group = self._encode_group_id(group_id) diff --git a/tooz/drivers/memcached.py b/tooz/drivers/memcached.py index 99fbcd4d..3892e221 100644 --- a/tooz/drivers/memcached.py +++ b/tooz/drivers/memcached.py @@ -285,13 +285,13 @@ class MemcachedDriver(coordination.CoordinationDriverCachedRunWatchers, self.client.close() def _encode_group_id(self, group_id): - return self.GROUP_PREFIX + group_id + return self.GROUP_PREFIX + utils.to_binary(group_id) def _encode_member_id(self, member_id): - return self.MEMBER_PREFIX + member_id + return self.MEMBER_PREFIX + utils.to_binary(member_id) def _encode_group_leader(self, group_id): - return self.GROUP_LEADER_PREFIX + group_id + return self.GROUP_LEADER_PREFIX + utils.to_binary(group_id) @_retry.retry() def _add_group_to_group_list(self, group_id):