Not sure when this started, but every time I run update.php, it processes the whole category links table, and does nothing...
Updating category collations...Selecting next 100 pages from cl_from = 0... processing...0 done. Selecting next 100 pages from cl_from = 100... processing...0 done. Selecting next 100 pages from cl_from = 200... processing...0 done. Selecting next 100 pages from cl_from = 300... processing...0 done. Selecting next 100 pages from cl_from = 400... processing...0 done. Selecting next 100 pages from cl_from = 500... processing...0 done. Selecting next 100 pages from cl_from = 600... processing...0 done. Selecting next 100 pages from cl_from = 700... processing...0 done. Selecting next 100 pages from cl_from = 800... processing...0 done. Selecting next 100 pages from cl_from = 900... processing...0 done. Selecting next 100 pages from cl_from = 1000... processing...0 done. Selecting next 100 pages from cl_from = 1100... processing...0 done. Selecting next 100 pages from cl_from = 1200... processing...0 done. Selecting next 100 pages from cl_from = 1300... processing...0 done. Selecting next 100 pages from cl_from = 1400... processing...0 done. Selecting next 100 pages from cl_from = 1500... processing...0 done. Selecting next 100 pages from cl_from = 1600... processing...0 done. Selecting next 100 pages from cl_from = 1700... processing...0 done. Selecting next 100 pages from cl_from = 1800... processing...0 done. Selecting next 100 pages from cl_from = 1900... processing...0 done. Selecting next 100 pages from cl_from = 2000... processing...0 done. Selecting next 100 pages from cl_from = 2100... processing...0 done. Selecting next 100 pages from cl_from = 2200... processing...0 done. Selecting next 100 pages from cl_from = 2300... processing...0 done. Selecting next 100 pages from cl_from = 2400... processing...0 done. Selecting next 100 pages from cl_from = 2500... processing...0 done. Selecting next 100 pages from cl_from = 2600... processing...0 done. Selecting next 100 pages from cl_from = 2700... processing...0 done. Selecting next 100 pages from cl_from = 2800... processing...0 done. Selecting next 100 pages from cl_from = 2900... processing...0 done. Selecting next 100 pages from cl_from = 3000... processing...0 done. Selecting next 100 pages from cl_from = 3100... processing...0 done. Selecting next 100 pages from cl_from = 3200... processing...0 done. Selecting next 100 pages from cl_from = 3300... processing...0 done. Selecting next 100 pages from cl_from = 3400... processing...0 done. Selecting next 100 pages from cl_from = 3500... processing...0 done. Selecting next 100 pages from cl_from = 3600... processing...0 done. Selecting next 100 pages from cl_from = 3700... processing...0 done. Selecting next 100 pages from cl_from = 3800... processing...0 done. Selecting next 100 pages from cl_from = 3900... processing...0 done. Selecting next 100 pages from cl_from = 4000... processing...0 done. Selecting next 100 pages from cl_from = 4100... processing...0 done. Selecting next 100 pages from cl_from = 4200... processing...0 done. Selecting next 100 pages from cl_from = 4300... processing...0 done. Selecting next 100 pages from cl_from = 4400... processing...0 done. 0 rows processed
Some minor spacing issues in the above (patch up, not tagged against this bug), but...
protected function doCollationUpdate() { global $wgCategoryCollation; if ( $this->updateRowExists( 'UpdateCollation::' . $wgCategoryCollation ) ) { $this->output( "...collations up-to-date.\n" ); return; } $this->output( "Updating category collations..." ); $task = $this->maintenance->runChild( UpdateCollation::class ); $task->execute(); $this->output( "...done.\n" ); }
It would seem the update log row isn't being written...
Related to T342854: Drop cl_collation_ext index from categorylinks, and caused by rMW16b468b515da: updateCollation: Simplify and redo how batching works, which added the updateRowExists but didn't write a log entry anywhere (or use LoggedUpdateMaintenance etc)...