The movePrimary DDL coordinator takes the critical section on the donor in two steps:
- During kClone it takes the critical section to block writes, i.e. in catchup mode.
- During kEnterCriticalSection it upgrades it to block reads & writes, i.e. in commit mode
聽
If the coordinator aborts (e.g. through this code path) while it still has the critical section in catchup mode, during the cleanup path it will always attempt to clear the DB filtering metadata. After SERVER-103711, this hits tassert 10371106 which prevent clearing the cached DB metadata while not holding the critical section in commit mode.
聽
We should avoid clearing the DB filtering metadata if we abort while not yet committing the movePrimary.
- is related to
-
SERVER-103711 Replace setter methods from DatabaseShardingRuntime with a new dedicated class
-
- Closed
-