-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Cluster Scalability
-
None
-
3
-
TBD
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Releasing critical section involves taking an X lock on the collection being resharded. In the case where a donor failed to acquire the critical section (i.e. hit ReshardingCriticalSectionTimeout) due to a conflicting multi-document transaction, the lock acquisition is expected to block until the transaction commits or aborts. As a result, the resharding operation would get stuck trying to abort, i.e. hold on to the DDL lock until the transaction commits or aborts. If the transaction is not in "prepare", then the wait is bounded by the transaction lifetime limit since the transaction would get aborted by the periodic reaper after a while. If it is in "prepare", then the wait depends on when the coordinator commits or aborts the transaction.