In DifferenceEngine we need to show a diff immediately after
an edit happened if someone did a rollback. To make that work
again, try loading a revision from master if we have more than
one database servers and we failed loading the revision from
a slave.
Change-Id: I08a16faa9e637c614c6d2fc9a10536c7b41685a8
Follows:
3c2bc32ae1775f5e875958b62d7181b4b5cfe24e
Bug: T93866
// Load the new revision object
if ( $this->mNewid ) {
$this->mNewRev = Revision::newFromId( $this->mNewid );
+
+ if ( !$this->mNewRev && wfGetLB()->getServerCount() > 1 ) {
+ // Try harder… This is being hit after a rollback where we show the
+ // diff immediately after the edit happened. T93866
+ $this->mNewRev = Revision::newFromId( $this->mNewid, Revision::READ_LATEST );
+ }
} else {
$this->mNewRev = Revision::newFromTitle(
$this->getTitle(),