Topic on Project:Support desk

Category update job fail to complete "Cannot flush snapshot because writes are pending"

1
184.195.209.100 (talkcontribs)

I've seen several posts on various sites dated 2016 and 2018 mainly. I've not found a permanent solution to the automation fail.

My wiki is new as of four weeks ago. Versions are MediaWiki 1.32.0, PHP 7.2.24 (cgi-fcgi), SQLite 3.28.0, ICU 60.2. Beyond the standard install, I added a line to log output, enabled WikiEditor 0.5.2, and added the DarkVector skin. After starting to add categories, the category pages would not populate "automatically." I've seen several posts on various sites dated 2016 and 2018 mainly. Manually forcing a RefreshLinks on command line populates the categories. After failing to find a valid or even contemporary solution, I set up the log and found every page load was generating a version of the following error (several maybe sensitive bits obscured):

-- log excerpt begins

[runJobs] htmlCacheUpdate User:USERNAME table=redirect recursive=1 rootJobIsSelf=1 rootJobSignature=ffff rootJobTimestamp=0000 causeAction=page-edit causeAgent=unknown requestId=XXXX (id=5,timestamp=0000) STARTING

[exception] [XXXX] /w/index.php?title=PAGE   Wikimedia\Rdbms\DBUnexpectedError from line 4030 of /ROOTPATH/w/includes/libs/rdbms/database/Database.php: HTMLCacheUpdateJob::run: Cannot flush snapshot because writes are pending (JobQueueDB::claimRandom).

#0 /ROOTPATH/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1622): Wikimedia\Rdbms\Database->flushSnapshot(string)

#1 /ROOTPATH/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1786): Wikimedia\Rdbms\LoadBalancer->Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\DatabaseSqlite)

#2 /ROOTPATH/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1623): Wikimedia\Rdbms\LoadBalancer->forEachOpenMasterConnection(Closure)

#3 /ROOTPATH/w/includes/libs/rdbms/loadbalancer/LoadBalancer.php(1388): Wikimedia\Rdbms\LoadBalancer->flushMasterSnapshots(string)

#4 /ROOTPATH/w/includes/libs/rdbms/lbfactory/LBFactory.php(219): Wikimedia\Rdbms\LoadBalancer->beginMasterChanges(string)

#5 /ROOTPATH/w/includes/libs/rdbms/lbfactory/LBFactorySimple.php(152): Wikimedia\Rdbms\LBFactory->Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\LoadBalancer, string, array)

#6 /ROOTPATH/w/includes/libs/rdbms/lbfactory/LBFactory.php(221): Wikimedia\Rdbms\LBFactorySimple->forEachLB(Closure, array)

#7 /ROOTPATH/w/includes/libs/rdbms/lbfactory/LBFactory.php(246): Wikimedia\Rdbms\LBFactory->forEachLBCallMethod(string, array)

#8 /ROOTPATH/w/includes/jobqueue/JobRunner.php(288): Wikimedia\Rdbms\LBFactory->beginMasterChanges(string)

#9 /ROOTPATH/w/includes/jobqueue/JobRunner.php(192): JobRunner->executeJob(HTMLCacheUpdateJob, Wikimedia\Rdbms\LBFactorySimple, BufferingStatsdDataFactory, integer)

#10 /ROOTPATH/w/includes/MediaWiki.php(1001): JobRunner->run(array)

#11 /ROOTPATH/w/includes/MediaWiki.php(984): MediaWiki->triggerSyncJobs(integer, MediaWiki\Logger\LegacyLogger)

#12 /ROOTPATH/w/includes/MediaWiki.php(908): MediaWiki->triggerJobs()

#13 /ROOTPATH/w/includes/MediaWiki.php(726): MediaWiki->restInPeace(string, boolean)

#14 /ROOTPATH/w/includes/MediaWiki.php(749): MediaWiki->{closure}()

#15 /ROOTPATH/w/includes/MediaWiki.php(550): MediaWiki->doPostOutputShutdown(string)

#16 /ROOTPATH/w/index.php(42): MediaWiki->run()

#17 {main}

[runJobs] htmlCacheUpdate User:USERNAME table=redirect recursive=1 rootJobIsSelf=1 rootJobSignature=ffff rootJobTimestamp=0000 causeAction=page-edit causeAgent=unknown requestId=XXXX (id=5,timestamp=0000) t=1 error=Wikimedia\Rdbms\DBUnexpectedError: HTMLCacheUpdateJob::run: Cannot flush snapshot because writes are pending (JobQueueDB::claimRandom).

Request ended normally

-- log excerpt ends

Only idea I have is a conflict in current pairing of php x sqlite and even x mediawiki but I haven't found any mentions. Possibly, I don't know what to look for.

Reply to "Category update job fail to complete "Cannot flush snapshot because writes are pending""