hbase should not use message_signature as unique id
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ceilometer |
Fix Released
|
Medium
|
ZhiQiang Fan | ||
Kilo |
Fix Released
|
Medium
|
Unassigned |
Bug Description
UPDATE: this is because hbase builds unique id from message_signature which is not guaranteed to be present/unique.
i found the bug!
this is the same as bug 1328550 but not it affects hbase tests. certain hbase tests will fail when
[publisher]
telemetry_secret=
is set in /etc/ceilometer
=======
FAIL: ceilometer.
tags: worker-1
-------
Empty attachments:
stderr
stdout
Traceback (most recent call last):
File "ceilometer/
return func(*args, **kwargs)
File "ceilometer/
meter = results[1]
IndexError: list index out of range
=======
FAIL: ceilometer.
tags: worker-1
-------
Empty attachments:
stderr
stdout
Traceback (most recent call last):
File "ceilometer/
return func(*args, **kwargs)
File "ceilometer/
self.
File "/opt/stack/
self.
File "/opt/stack/
raise mismatch_error
testtools.
=======
FAIL: ceilometer.
tags: worker-3
-------
Empty attachments:
stderr
stdout
Traceback (most recent call last):
File "ceilometer/
return func(*args, **kwargs)
File "ceilometer/
self.
File "/opt/stack/
self.
File "/opt/stack/
raise mismatch_error
testtools.
=======
FAIL: ceilometer.
tags: worker-2
-------
Empty attachments:
stderr
stdout
Traceback (most recent call last):
File "ceilometer/
return func(*args, **kwargs)
File "ceilometer/
self.
File "/opt/stack/
self.
File "/opt/stack/
raise mismatch_error
testtools.
=======
FAIL: ceilometer.
tags: worker-2
-------
Empty attachments:
stderr
stdout
Traceback (most recent call last):
File "ceilometer/
return func(*args, **kwargs)
File "ceilometer/
self.
File "/opt/stack/
self.
File "/opt/stack/
raise mismatch_error
testtools.
summary: |
- tests are using live /etc/ceilometer/ceilometer.conf + hbase should not use message_signature as unique id |
description: | updated |
tags: | added: kilo-backport-potential |
Changed in ceilometer: | |
milestone: | none → liberty-1 |
tags: | added: kilo-rc-potential |
tags: | removed: kilo-backport-potential kilo-rc-potential |
Changed in ceilometer: | |
status: | Fix Committed → Fix Released |
Changed in ceilometer: | |
milestone: | liberty-1 → 5.0.0 |
hbase use (meter, timestamp, signature) as the unique key, now we enable set signature to '', meanwhile our test case use same timestamp for some samples, then test fails
I think hbase needs to choose another way to identify different samples, for example, use message id (which definitely exists)
mock the ceilometer.conf can avoid this, but may be prepare a specific env can be OK too
always use default value may lead to some ignored case such as this one