Bug 1047872
| Summary: | [ceilometer] mongo aggregation pipeline for resource retrieval fails with excessive memory use | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Eoghan Glynn <eglynn> |
| Component: | openstack-ceilometer | Assignee: | Eoghan Glynn <eglynn> |
| Status: | CLOSED ERRATA | QA Contact: | Kevin Whitney <kwhitney> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 4.0 | CC: | ajeain, breeler, dsulliva, jruzicka, pbrady, srevivo, yeylon |
| Target Milestone: | z1 | Keywords: | ZStream |
| Target Release: | 4.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | openstack-ceilometer-2013.2.1-2.el6ost | Doc Type: | Bug Fix |
| Doc Text: |
In the Telemetry service, in-memory sorting used by the mongodb aggregation framework when deriving resource listings from the metering-store caused access to resources to fail with excessive memory use.
This was fixed by constructing the resource list via map-reduce instead of an aggregation pipeline. Now the metering-store size is no longer bounded by the size of available memory.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-01-23 14:22:48 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Eoghan Glynn
2014-01-02 12:23:54 UTC
Fix part 1 proposed on master upstream: https://review.openstack.org/65671 and duely landed: https://github.com/openstack/ceilometer/commit/7c4c0e8f Backport proposed on stable/havana upstream: https://review.openstack.org/65947 Fix part 1 proposed on master upstream: https://review.openstack.org/65962 Internal backports for both fixes: https://code.engineering.redhat.com/gerrit/18265 https://code.engineering.redhat.com/gerrit/18266 Internal backports have landed. Fix part 1 landed on stable/havana upstream: https://git.openstack.org/cgit/openstack/ceilometer/commit/?id=ef71dc6a11 Fix part 2 landed on master upstream: https://git.openstack.org/cgit/openstack/ceilometer/commit/?id=ba6641af Backport of fix part 2 proposed to stable/havana upstream: https://review.openstack.org/66861 Verified
1) Create a meter (dummy) and resource (resdummy)
2) Add 15 samples to meter dummy
mongo ceilometer
db.resource.find({ "meter.counter_name": "dummy", "_id" : "resdummy"}).count()
1
db.meter.find({"counter_name":"dummy"}).count()
15
Examine the resource document and verify it does not contain an entry for each data sample.
db.resource.find({ "meter.counter_name": "dummy", "_id" : "resdummy"})
db.resource.find({"meter.counter_name": "dummy", "_id" : "resdummy"})
{ "_id" : "res45000", "metadata" : { }, "meter" : [ { "counter_name" : "dummy", "counter_unit" : "something", "counter_type" : "cumulative" } ], "project_id" : "e97a90c759f64dfaadf319cf08cb1ab2", "source" : "e97a90c759f64dfaadf319cf08cb1ab2:openstack", "user_id" : "e1aa40339c9d45a582b4a13640ae3eab" }
3) create 25,000 resources
ceilometer resource-list
<works as expected>
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2014-0046.html *** Bug 1065420 has been marked as a duplicate of this bug. *** |