Controller crashed when we try to list route table with 1.6 million of routes
Bug #1325652 reported by
Édouard Thuleau
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
Trunk |
Fix Committed
|
Medium
|
Tapan Karwa | |||
OpenContrail |
Fix Committed
|
Medium
|
Tapan Karwa |
Bug Description
When I try to list route table through the introspect UI (bgp peer -> ShowRouteReq) [1] of a controller where the number of route is close to 1.6 million, the controller process does not answer and it starts to consume all the memory. And finally, the controller process is killed by the init system.
Changed in opencontrail: | |
assignee: | nobody → Nischal Sheth (nsheth) |
Changed in opencontrail: | |
assignee: | Nischal Sheth (nsheth) → Tapan Karwa (tkarwa) |
tags: |
added: contrail-control removed: controller |
Changed in opencontrail: | |
status: | New → In Progress |
importance: | Undecided → Medium |
Changed in opencontrail: | |
status: | In Progress → Fix Committed |
To post a comment you must log in.
Reviewed: https:/ /review. opencontrail. org/4280 github. org/Juniper/ contrail- controller/ commit/ 5a2232c33903ca5 7932a8c2f31c70c 37564ec2db
Committed: http://
Submitter: Zuul
Branch: master
commit 5a2232c33903ca5 7932a8c2f31c70c 37564ec2db
Author: Tapan Karwa <email address hidden>
Date: Mon Nov 3 10:39:43 2014 -0800
Add iteration facility to show route in introspect, add 40 new tests.
This limits the total number of routes we will show in each iteration.
Currently, its the min of (user-specified, 1000). This makes sure that the
backend does not run out of memory for large routing tables and also limits the
busy-time for the daemon.
This also changes the way MergeSort is working in the introspect code. The
route comparison function in bgp code sorts using numeric values via the
CompareTo function. The introspect code was doing a string compare. The output
of the 2 is not the same. This also changes the introspect code to use the
CompareTo function.
Change-Id: I9cc45181c962c3 f6845174345834f 6e524553c6d
Closes-Bug: 1325652