Fix storage.hbase.util.prepare_key() for 32-bits system
storage.hbase.utils.timestamp() will return long type object on 32-bits system, which will cause exception in ceilometer/alarm/storage/impl_hbase.py: 'long' object has no attribute 'encode'. Then developers on 32-bits system will never get local test passed. This patch changes type check in prepare_keys() from int to six.integer_types, which will work for both 32-bits and 64-bits system, python2 and python3 environment. Note: no test code is added, because jenkins runs on 64-bits system. Reviewers can download code and verify it on 32-bits system. Change-Id: I57729ff67efe6d6036fe698e3d86491f9ed4600c Closes-Bug: #1388181
This commit is contained in:
parent
6eac318612
commit
fa982d1bf5
@ -329,7 +329,7 @@ def prepare_key(*args):
|
||||
"""
|
||||
key_quote = []
|
||||
for key in args:
|
||||
if isinstance(key, int):
|
||||
if isinstance(key, six.integer_types):
|
||||
key = str(key)
|
||||
key_quote.append(quote(key))
|
||||
return ":".join(key_quote)
|
||||
|
Loading…
Reference in New Issue
Block a user