[SERVER-82258] Pause before destruction of ARS in UpdateOneWithIdWithoutShardKeyWithMatch test Created: 17/Oct/23 Updated: 29/Oct/23 Resolved: 18/Oct/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.2.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Abdul Qadeer | Assignee: | Abdul Qadeer |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Operating System: | ALL | ||||
| Steps To Reproduce: | Inserting a sleep(5) between the two successive calls to onCommandForPoolExecutor reproduces it. |
||||
| Participants: | |||||
| Linked BF Score: | 45 | ||||
| Description |
|
The issue here is that the ARS context is destroyed here after receiving the mocked response for the first command sent in the test, canceling the second pending request with CallbackCanceled. The The launchAsync future blocks indefinitely and doesn't return because the onCommandForPoolExecutor for second mock response is scheduled to be run on the main test thread. A simple fix for this is to introduce a failpoint in the code such that it is unpaused only after the second command is scheduled to be run on the mock interface. |
| Comments |
| Comment by Githook User [ 18/Oct/23 ] |
|
Author: {'name': 'Abdul Qadeer', 'email': 'abdul.qadeer@mongodb.com', 'username': 'zorro786'}Message: |