-
Type: Bug
-
Status: Resolved (View Workflow)
-
Priority: Medium
-
Resolution: Fixed
-
Affects Version/s: VOLTHA v2.8, VOLTHA v2.9
-
Fix Version/s: VOLTHA v2.10
-
Component/s: openonu-adapter
-
Labels:
-
Story Points:3
-
Epic Link:
-
Sprint:VOLTHA 2.10 - Sprint 3
When OLT is disabled, ONU indication is received twice by the ONU adapter - once as a result the physical OLT sending a ONU down indication, and another generated by the OLT adapter itself for all the ONUs managed by it.
While the openonu adapter takes care of handling this duplicate indication in most cases, there are some corner case issues. Basically on ONU indication "down" or "unreachable", the onu adapter resets the FSMs and stops all the message processing routines. If the message processing routine is already shutdown, the onu adapter should not try to send a message on the channel again to shut it down. This is the problem that is seen with mib_sync FSM where it sends an "AbortMessageProcessing" event the second time ONU indication "unreachable" is received, but the message processor has already stopped. Now this is event is on the channel and as soon as ONU gets activated again, this stale event is picked and the mib sync fsm is again aborted causing ONU to get stuck in ACTIVATING state.
While there is protection in "updateInterface" function in device_handler.go to check for "dh.getDeviceReason() != cmn.DrStoppingOpenomci" to not allow duplication ONU indication "down"/"unreachable", there could be race condition if the duplication indication arrives before dh.getDeviceReason could be updated - this is what happened in this particular issue.