[CONTROLLER-7] System can go into livelock after forwarding state is established between multiple switches Created: 11/Apr/13 Updated: 19/Oct/17 Resolved: 21/Apr/16 |
|
| Status: | Resolved |
| Project: | controller |
| Component/s: | adsal |
| Affects Version/s: | 0.4.0 |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Gary Berger | Assignee: | Unassigned |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Operating System: Linux |
||
| External issue ID: | 9 |
| Description |
|
Currently there is no liveness capability based on echo/echo_reply to flag a switch as down.. SwitchHandler might be hinted on NIO channel read errors to start a polling interval. Procedure: Utilize SimpleForwarding sample app to provide learning_bridge capability A number of services continue to try and read from the channel consuming SwitchEvent and queue entries. There are references to these objects which are never freed which keeps them in OldGen space until the heap is exhausted. Heap Histogram num #instances #bytes class name Rapidly the heap grows filling Eden and OldGen space until no new objects can be created. Heap GC S0 S1 E O P YGC YGCT FGC FGCT GCT A timer must be implemented to clean up switch events and possibly trigger a cleanup of new messages (Statistics, FlowMods) based on a call back to AsynchronousCloseException. |
| Comments |
| Comment by Muthukumaran Kothandaraman [ 05/Jun/13 ] |
|
Gary, Took a look at your observation. Wanted a clarification on the same. The EventHandler thread of Controller seems to be clearing the events by scanning the switch-events queue and when switches are bounced, the switch-error event is sent to switch-events queue and consumed by EventHandler for cleanup. But your observation seems to indicate that the events are residual. Am I missing something or misunderstanding your observation ? Regards |
| Comment by Carol Sanders [ 04/May/15 ] |
|
This bug is part of the project to Move all ADSAL associated component bugs to ADSAL |
| Comment by Robert Varga [ 21/Apr/16 ] |
|
AD-SAL was removed, hence won't fix. |