[SERVER-51522] Handle ConflictingOperationInProgress errors for non-transaction createIndexes in CRUD_and_commands_with_createindexes.js Created: 13/Oct/20 Updated: 29/Oct/23 Resolved: 19/Jan/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 4.9.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Jack Mulrow | Assignee: | Dan Larkin-York |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||
| Backwards Compatibility: | Fully Compatible | ||||
| Operating System: | ALL | ||||
| Sprint: | Execution Team 2021-01-25 | ||||
| Participants: | |||||
| Linked BF Score: | 11 | ||||
| Description |
|
CRUD_and_commands_with_createindexes.js concurrently runs createIndexes and dropCollection on the same namespace, which can lead to ConflictingOperationInProgress errors if the createIndexes triggers a shard version refresh that finds chunks no longer exist for the collection because of a concurrent drop. Currently this test handles that error by appending a TransientTransactionError error label to the response in suites that set TestData.runInsideTransaction to true, which triggers an automatic retry if the command is running in a transaction. The command may not be in a transaction even if that flag is set, and in this case, the error label will still be attached but there will be no retry, and the test will fail. Instead, ConflictingOperationInProgress should either be retried on or ignored, since it is an expected error under these conditions. |
| Comments |
| Comment by Githook User [ 19/Jan/21 ] |
|
Author: {'name': 'Dan Larkin-York', 'email': 'dan.larkin-york@mongodb.com', 'username': 'dhly-etc'}Message: |
| Comment by Jack Mulrow [ 13/Oct/20 ] |
|
Assigning to the Execution backlog because it looks like they added this test and its base workload in |