[SERVER-66526] Hang upon restart when there is a prepared internal transaction for retryable findAndModify executed with storeFindAndModifyImagesInSideCollection=true to reconstruct Created: 17/May/22 Updated: 29/Oct/23 Resolved: 19/May/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.0.0-rc7, 6.1.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Cheahuychou Mao | Assignee: | Cheahuychou Mao |
| 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 | ||||||||||||
| Backport Requested: |
v6.0
|
||||||||||||
| Sprint: | Sharding NYC 2022-05-30 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
Upon restart, if a node has a prepared internal transaction for retryable findAndModify executed with storeFindAndModifyImagesInSideCollection=true to recover, the reconstruct prepared transactions step would get stuck indefinitely as applying the prepare oplog entry appears to keep hitting WriteConflict errors. This error can be reproduced using these two test cases in retryable_findAndModify_commit_and_abort_prepared_txns_after_failover.js by making the jstest trigger a restart instead of a failover. |
| Comments |
| Comment by Githook User [ 18/May/22 ] |
|
Author: {'name': 'Cheahuychou Mao', 'email': 'mao.cheahuychou@gmail.com', 'username': 'cheahuychou'}Message: (cherry picked from commit 13a610d118fb039dc6e9ecb72f3d41e3777d2263) |
| Comment by Githook User [ 18/May/22 ] |
|
Author: {'name': 'Cheahuychou Mao', 'email': 'mao.cheahuychou@gmail.com', 'username': 'cheahuychou'}Message: |