Resharding donors should not try to release the critical section after failing to acquire it

XMLWordPrintableJSON

    • 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.

            Assignee:
            Unassigned
            Reporter:
            Cheahuychou Mao
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: