-
Type: Bug
-
Status: Resolved (View Workflow)
-
Priority: Blocker
-
Resolution: Done
-
Affects Version/s: VOLTHA v2.6
-
Fix Version/s: VOLTHA v2.7
-
Component/s: openolt-adapter
-
Labels:None
-
Environment:
The OpenOLT Adapter uses two different lock when acquiring and releasing resources.
Because of this a race condition exists between GetResourceID and FreeResouceId, allowing two possible failure cases:- IDs are marked as available even if they're not (if a FreeResourceID writes in the KV store after a concurrent GetResourceID)
- IDs are marked as reserved even if they have been released (if a GetResourceID writes in the KV Store after a concurrent FreeResourceID)
This was uncovered by BBSim validating the resource IDs used in the flows.
The OpenOLT Adapter uses two different lock when acquiring and releasing resources. Because of this a race condition exists between GetResourceID and FreeResouceId, allowing two possible failure cases: IDs are marked as available even if they're not (if a FreeResourceID writes in the KV store after a concurrent GetResourceID) IDs are marked as reserved even if they have been released (if a GetResourceID writes in the KV Store after a concurrent FreeResourceID) This was uncovered by BBSim validating the resource IDs used in the flows.
-
Story Points:5
-
Epic Link: