It was failing in production with duplicate key error in
moveInconsistentPage(). Live-patching it to check for existence
for updates resolved the issues. Committing the fix now.
Change-Id: I1c0bf632b5040b44f5a49c8fb95779e7ed19dea9
* @ingroup Maintenance
*/
* @ingroup Maintenance
*/
+use MediaWiki\MediaWikiServices;
+
require_once __DIR__ . '/cleanupTable.inc';
/**
require_once __DIR__ . '/cleanupTable.inc';
/**
* @param object $row
* @param Title $title
*/
* @param object $row
* @param Title $title
*/
- protected function moveInconsistentPage( $row, $title ) {
- if ( $title->exists() || $title->getInterwiki() || !$title->canExist() ) {
+ protected function moveInconsistentPage( $row, Title $title ) {
+ if ( $title->exists( Title::GAID_FOR_UPDATE )
+ || $title->getInterwiki()
+ || !$title->canExist()
+ ) {
if ( $title->getInterwiki() || !$title->canExist() ) {
$prior = $title->getPrefixedDBkey();
} else {
if ( $title->getInterwiki() || !$title->canExist() ) {
$prior = $title->getPrefixedDBkey();
} else {
],
[ 'page_id' => $row->page_id ],
__METHOD__ );
],
[ 'page_id' => $row->page_id ],
__METHOD__ );
- LinkCache::singleton()->clear();
+ MediaWikiServices::getInstance()->getLinkCache()->clear();