Page MenuHomePhabricator

PageTriage gate and submit intermittently fails, PageTriageTest->testBulkSetTagsUpdated(), "Failed asserting that '20250513203936' is null."
Open, Needs TriagePublicBUG REPORT

Assigned To
None
Authored By
Novem_Linguae
May 15 2025, 7:27 AM
Referenced Files
F60004208: image.png
May 15 2025, 7:27 AM
F60004197: image.png
May 15 2025, 7:27 AM
F60004187: image.png
May 15 2025, 7:27 AM
F60004179: image.png
May 15 2025, 7:27 AM
F60004164: image.png
May 15 2025, 7:27 AM

Description

Steps to replicate the issue (include links if applicable):

  • +2 a patch in the PageTriage repo, or "recheck" it a bunch of times

What happens?:

image.png (1,261×188 px, 47 KB)

image.png (1,282×174 px, 48 KB)

image.png (1,266×179 px, 49 KB)

image.png (1,294×181 px, 50 KB)

image.png (1,269×179 px, 50 KB)

What should have happened instead?:

  • gate and submit succeeds. patch merges

Software version (on Special:Version page; skip for WMF-hosted wikis like Wikipedia):

Other information (browser name/version, screenshots, etc.):

  • Doesn't appear to affect the wmf (gate) build at all. This solely affects PageTriage
  • Is intermittent.
  • Despite being intermittent, enough of the 4 gate and submit builds fail each time to block all patch merging.
  • Since it's the same test failing each time, I think I'll write a patch to skip that test, then rebase and resubmit the existing patches, and see if that resolves this.

Acceptance criteria

  • test no longer marked as skipped
  • test no longer flaky

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Change #1146488 had a related patch set uploaded (by Novem Linguae; author: Novem Linguae):

[mediawiki/extensions/PageTriage@master] tests: mark testBulkSetTagsUpdated as skipped

https://gerrit.wikimedia.org/r/1146488

		$pageIds[] = $this->insertPage( 'PageTriageTest', 'Testing 123' )['id'];

		$pageTriagePage = $this->getDb()->newSelectQueryBuilder()
			->select( 'ptrp_tags_updated' )
			->from( 'pagetriage_page' )
			->where( [ 'ptrp_page_id' => $pageIds ] )
			->caller( __METHOD__ )
			->fetchField();

		$this->assertNull( $pageTriagePage );

I think PageTriage SQL tables / metadata sometimes gets updated in a DeferredUpdate. If the DeferredUpdate is sometimes slower than the test code, that could create an intermittent failure.

Not sure why this is rearing itself now though when it was fine for the last 2 years.

Change #1146488 merged by jenkins-bot:

[mediawiki/extensions/PageTriage@master] tests: mark testBulkSetTagsUpdated as skipped

https://gerrit.wikimedia.org/r/1146488

Will leave this open in case anyone wants to fix the test.

Change #1220007 had a related patch set uploaded (by Umherirrender; author: Novem Linguae):

[mediawiki/extensions/PageTriage@REL1_44] tests: mark testBulkSetTagsUpdated as skipped

https://gerrit.wikimedia.org/r/1220007

Change #1220007 merged by jenkins-bot:

[mediawiki/extensions/PageTriage@REL1_44] tests: mark testBulkSetTagsUpdated as skipped

https://gerrit.wikimedia.org/r/1220007