[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:
Depends
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: SERVER-82258 Add hangBeforeCompletingWriteWithoutShardkeyWithId failpoint
Branch: master
https://github.com/mongodb/mongo/commit/d020ebcf90ac1f2c0f937f1e14af5eccab090bed

Generated at Thu Feb 08 06:48:43 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.