when a gwtoolset batch job is created the runner should pick it up and run the gwtoolset* jobs.
• the MetadataJob goes into the queue.
• the MetadataJob is never picked up
• if another MetadatJob is added before approximately 5 minutes that one is also added to the queue, but not picked up
• if another MetadataJob is added to the queue after approximately 5 minutes, the MetadataJobs waiting in the queue are picked up, run and their MediaFileJobs and CleanUp jobs are run. the new MetadataJob waits in the queue and is not picked up until yet another gwtoolset MetadataJob is created.
additional research by hashar
the beta cluster shows gwtoolset* jobs pending:
$ mwscript showJobs.php --wiki=commonswiki --group
cirrusSearchUpdatePages: 0 queued; 7 claimed (0 active, 7 abandoned)
gwtoolsetGWTFileBackendCleanupJob: 0 queued; 1 claimed (1 active, 0 abandoned)
gwtoolsetUploadMediafileJob: 0 queued; 5 claimed (0 active, 5 abandoned)
gwtoolsetUploadMetadataJob: 1 queued; 0 claimed (0 active, 0 abandoned)
webVideoTranscode: 4 queued; 0 claimed (0 active, 0 abandoned)
in this case gwtoolsetUploadMetadataJob, however, nextJobDB.php does not find it.
it looks like this is because nextJobDB.php calls JobQueueAggregator::singleton()->getAllReadyWikiQueues(), which does not list gwtoolset jobs.