[Bug 1433924] Re: "Too much data for sort() with no index." While Getting Resources
Thierry Carrez
thierry.carrez+lp at gmail.com
Thu Oct 15 09:40:26 UTC 2015
** Changed in: ceilometer
Milestone: liberty-3 => 5.0.0
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to ceilometer in Ubuntu.
https://bugs.launchpad.net/bugs/1433924
Title:
"Too much data for sort() with no index." While Getting Resources
Status in Ceilometer:
Fix Released
Status in ceilometer package in Ubuntu:
Fix Released
Status in ceilometer source package in Trusty:
Triaged
Status in ceilometer source package in Vivid:
Triaged
Status in ceilometer source package in Wily:
Fix Released
Bug description:
We have 47GB of mongo data. When I run "ceilometer resource-list", I
get the error in the subject. I isolated the problem down to
storage/impl_mongodb.py:746 _get_floating_resources(). It builds an
empty query with sort options "{user_id: -1, project_id: -1,
last_sample_timestamp: -1}" and it fails.
I ran the query in mongodb to see if it was generating the same error
and confirmed it. After a bit digging, I learned that mongodb needs
compound index for that kind of sort. I added the following index via
mongocl:
db.resource.createIndex({user_id: -1, project_id: -1,
last_sample_timestamp: -1}, {background: true})
After this index, the problem went away. I can run "ceilometer
resource-list" and "ceilometer meter-list". However, those commands
take ~1minute to complete with the index. The performance may be
another issue that needs investigation.
I need to mention that this error is different than
https://bugs.launchpad.net/ceilometer/+bug/1193906. The timestamp
index is in place but we need compound indexes as I explained above.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ceilometer/+bug/1433924/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list