Cassandra ObjectCacheManager is O(keys_in_cache) per request
Bug #1804201 reported by
Ankudinov Alexander
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R3.2 |
Fix Committed
|
High
|
Unassigned | |||
R4.1 |
Fix Committed
|
High
|
Unassigned | |||
R5.0 |
Fix Committed
|
Undecided
|
Unassigned | |||
Trunk |
Fix Committed
|
High
|
Unassigned | |||
OpenContrail |
New
|
Undecided
|
Unassigned |
Bug Description
We've made a test with more than 10000 ports and a lot of requests to API on R3.2.
During this test we've found, that contrail-api uses 100% cpu, performed profiling and found out, that most of the time is used by ObjectCacheManager.
The profiling graph, made with py-spy is attached.
The time is mostly used by creating a set from all cache keys and set operations on each request.
P.S. It's my first time contributing to TF, please tell me if I filled anything wrong.
To post a comment you must log in.
I've made a patch here, but I can't submit it to gerrit until my CCLA is sorted out.