Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-37711

Revert the `ReplicationStateTransitionLockGuard` functionality

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.1.5
    • Affects Version/s: 4.1.4
    • Component/s: Replication
    • Labels:
    • Fully Compatible
    • Sharding 2018-11-05

      The ReplicationStateTransitionLockGuard RAII class was introduced as a means for replication stepdown to be able to temporarily release the locks for prepared transactions so that the Global X lock can be acquired. However, closer inspection by tess.avitabile discovered race conditions, which are not trivial to fix without significant changes to the lock manager.

      Instead of continuing this tight integration with the lock manager, the replication team will investigate making replication state transitions not depend on the Global X lock. As a result of this, the ReplicationStateTransitionLockGuard and its usages will no longer be necessary, so they should be reverted.

      This includes the following commits:

            kaloian.manassiev@mongodb.com Kaloian Manassiev
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            0 Vote for this issue
            5 Start watching this issue