-
Type: Bug
-
Status: Resolved (View Workflow)
-
Priority: Medium
-
Resolution: Done
-
Affects Version/s: None
-
Fix Version/s: VOLTHA v2.3
-
Component/s: rw-core
-
Labels:
-
Story Points:1
-
Epic Link:
1) InvokeRPC Calls SubscribeForResponse, allocates a channel 2) wait_for_messages receives a message, launches a goroutine to handleMessage 3) handleMessage launches a goroutine to dispatchMessage 4) dispatchResponse grabs lockTransactionIdToChannelMap 5) dispatchResponse attempts to send on channel, blocks on send. 6) InvokeRPC timesout and exits, calling deferred unSubscribeForResponse 7) unSubscribeForResponse calls deleteFromTransactionIdChannelMap 8) deleteFromTransactionIdChannelMap attempts to grab lockTransactionIdToChannelMap
Increasing the buffering of the channel created by SubscribeForResponse should fix this issue. There is only 1 expected response, so channel size of 1 should be fine
- blocks
-
VOL-2684 Intermittent errors in voltha-go unit tests
- Resolved
# | Subject | Branch | Project | Status | CR | V |
---|---|---|---|---|---|---|
17931,3 | VOL-2708 prevent deadlock during timeout in invokerpc | master | voltha-lib-go | Status: MERGED | +2 | +1 |
18621,1 | VOL-2708 prevent deadlock during timeout in invokerpc | master | voltha-go | Status: ABANDONED | 0 | -1 |