-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
ALL
-
CAR Team 2024-05-13, CAR Team 2024-05-27, CAR Team 2024-06-10, CAR Team 2024-08-19, CAR Team 2024-09-02, CAR Team 2024-09-16
-
1
The rename DDL coordinator assumes that the operation will eventually succeed once the coordinator is at the kBlockCrudAndRename phase - which is the one that sends the local rename requests to all the shards -, so the coordinator will retry indefinitely on failure. This assumption can be made since all the preconditions that prevent the rename from succeeding are detected either at an earlier phase called kCheckPreconditions or right before constructing the DDL coordinator.
In general, if the rename target collection is not droppable, the local rename will fail regardless of how many times the operation is retried. Therefore, the collections checked by validateNamespacesForRenameCollection() must be aligned with the isDroppable() function, otherwise, the rename DDL operation may hang forever as we've seen in the BF attached to this ticket.
The purpose of this ticket is to make a direct call to isDroppable() under validateNamespacesForRenameCollection() to remove the need to keep both functions manually in sync.
- depends on
-
SERVER-94870 Improve maintainability of the cluster rename path
- Backlog