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: