[SERVER-45513] Make index_operations_abort_concurrent_outgoing_migrations.js only check that index commands did not run on recipient when the commands are run after steady state is reached Created: 13/Jan/20 Updated: 29/Oct/23 Resolved: 13/Jan/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 4.3.3 |
| 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 | ||||
| Sprint: | Sharding 2020-01-27 | ||||
| Participants: | |||||
| Linked BF Score: | 20 | ||||
| Description |
|
The assertion for the dropIndexes test here assumes that the recipient shard always finishes cloning the collection options and the missing indexes from the donor before dropIndexes aborts the migration. However, this is not always true. The listIndexes run by the assertion could sometimes fail with NamespaceNotFound because the collection does not exist on the recipient. Similarly, the assertion for the collMod test here assumes that the recipient shard always finishes cloning the collection options before collMod is run and aborts the migration. This is again not always true. The command could finish running before the recipient starts cloning the collection. Therefore, these two assertions are only expected to pass when the index commands are run after the steady state is reached. |
| Comments |
| Comment by Githook User [ 13/Jan/20 ] |
|
Author: {'name': 'Cheahuychou Mao', 'email': 'cheahuychou.mao@mongodb.com', 'username': 'cheahuychou'}Message: |