[SERVER-63837] Concurrent index build and rename over sharded collections may disrupt CRUD operations Created: 18/Feb/22 Updated: 26/Oct/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | 5.3.0-rc0, 5.0.5, 5.2.1 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Pierlauro Sciarelli | Assignee: | Backlog - Catalog and Routing |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Catalog and Routing
|
| Operating System: | ALL |
| Participants: |
| Description |
|
Provided that it should not be common to build an index over a sharded collection while the latter is being renamed, it is technically possible to do so. The check for concurrent index builds happens in the local catalog rename code, called by rename participants after blocking CRUDs. If the two operations overlap, an assertion is thrown and the participant indefinitely retries the rename operation as long as the build is not finished. As a consequence, if an index build happens during a rename it is possible that CRUDs are blocked during the whole time of the build. |
| Comments |
| Comment by Cris Insignares Cuello [ 24/Feb/22 ] |
|
This is not a correctness bug but rather an availability issue, which we will address under the project. |