Page MenuHomePhabricator

Deleted pages' creation entry shows up in Special:RecentChanges as a redlink since MW 1.28
Closed, ResolvedPublic

Description

Steps to reproduce:

  1. Create a page and verify that the page creation entry shows up on Special:RecentChanges
  2. Delete the page you created
  3. Go to Special:RecentChanges and observe how there is not just the deletion log entry, but also the creation entry

This has been happening on ShoutWiki ever since we upgraded from 1.26 to 1.28. Example public wiki demonstrating the issue: http://war.shoutwiki.com/wiki/Special:RecentChanges

I'm not sure how related this is, let alone how to resolve this, but this is what was logged to the exception log ($wgDebugLogGroups['exception']) for another wiki where an admin deleted the local MediaWiki:Monobook.css page:

2016-12-21 08:20:29 monolith [database name removed]: [370e9206b8e45feaf7ae9a82] /w/index.php?title=MediaWiki:Monobook.css&action=delete   DBUnexpectedError from line 2855 of /var/www/live/w/includes/libs/rdbms/database/Database.php: MWCallableUpdate::doUpdate: Cannot flush snapshot because writes are pending (JobQueueDB::doBatchPush).
#0 /var/www/live/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1085): Database->flushSnapshot(string)
#1 /var/www/live/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1383): Closure$LoadBalancer::beginMasterChanges(DatabaseMysqli)
#2 /var/www/live/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1093): LoadBalancer->forEachOpenMasterConnection(Closure$LoadBalancer::beginMasterChanges;1412088572)
#3 /var/www/live/w/includes/libs/rdbms/lbfactory/LBFactory.php(176): LoadBalancer->beginMasterChanges(string)
#4 /var/www/live/w/includes/libs/rdbms/lbfactory/LBFactorySimple.php(134): Closure$LBFactory::forEachLBCallMethod(LoadBalancer, string, array)
#5 /var/www/live/w/includes/libs/rdbms/lbfactory/LBFactory.php(179): LBFactorySimple->forEachLB(Closure$LBFactory::forEachLBCallMethod;1210122737, array)
#6 /var/www/live/w/includes/libs/rdbms/lbfactory/LBFactory.php(200): LBFactory->forEachLBCallMethod(string, array)
#7 /var/www/live/w/includes/deferred/DeferredUpdates.php(262): LBFactory->beginMasterChanges(string)
#8 /var/www/live/w/includes/deferred/DeferredUpdates.php(225): DeferredUpdates::runUpdate(MWCallableUpdate, LBFactorySimple, integer)
#9 /var/www/live/w/includes/deferred/DeferredUpdates.php(133): DeferredUpdates::execute(array, string, integer)
#10 /var/www/live/w/includes/MediaWiki.php(891): DeferredUpdates::doUpdates(string)
#11 /var/www/live/w/includes/MediaWiki.php(720): MediaWiki->restInPeace(string)
#12 [internal function]: Closure$MediaWiki::doPostOutputShutdown()
#13 {main}

Event Timeline

Umherirrender added a subscriber: Umherirrender.

With MediaWiki 1.28 the deletion of rows in the recent changes was moved to the JobQueue

Here's a specific example (the complaint and screenshot was originally posted to the Polish Wikipedia Facebook group):

The article "Klemens Murańka (ur. 1986)" was created and then deleted on 4 February (https://pl.wikipedia.org/w/index.php?title=Klemens_Mura%C5%84ka_(ur._1986)&action=edit&redlink=1). A few minutes later, there was still a RecentChanges entry for the creation. (Perhaps it's still there, it's impossible to check from the web interface.)

The first revision of file pages is created with EDIT_SUPPRESS_RC - maybe related somehow?.

Seb35 claimed this task.
Seb35 added a subscriber: Seb35.

Closed this task given it is almost a duplicate for T154425, it is solved by https://gerrit.wikimedia.org/r/#/c/356619/ (fixed in 1.28, 1.29, 1.30). An issue remains as of now, see T154425 for details.