Page MenuHomePhabricator

FlaggedRevs ReviewHandlerTest::testWithMinParams fails in EntitySchema CI
Closed, ResolvedPublic

Description

Happened in two consecutive main test builds (Gerrit change).

1) ReviewHandlerTest::testWithMinParams
UnexpectedValueException: Flagged revision with ID 19 exists with unexpected fr_page_id, error: duplicate review

/workspace/src/extensions/FlaggedRevs/business/RevisionReviewForm.php:504
/workspace/src/extensions/FlaggedRevs/business/RevisionReviewForm.php:308
/workspace/src/extensions/FlaggedRevs/business/FRGenericSubmitForm.php:192
/workspace/src/extensions/FlaggedRevs/frontend/specialpages/actions/RevisionReview.php:315
/workspace/src/extensions/FlaggedRevs/rest/ReviewHandler.php:25
/workspace/src/includes/Rest/SimpleHandler.php:38
/workspace/src/tests/phpunit/unit/includes/Rest/Handler/HandlerTestTrait.php:164
/workspace/src/extensions/FlaggedRevs/tests/phpunit/ReviewHandlerTest.php:108
/workspace/src/tests/phpunit/MediaWikiIntegrationTestCase.php:518

Event Timeline

Change 936244 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/FlaggedRevs@master] Fix page name in test case

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

Change 936245 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/EntitySchema@master] DNM: Empty change to test CI

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

Change 936244 abandoned by Lucas Werkmeister (WMDE):

[mediawiki/extensions/FlaggedRevs@master] Fix page name in test case

Reason:

Doesn’t work; also, on reflection, a title with :: can be valid after all (e.g. https://en.wikipedia.org/w/index.php?title=0::1&redirect=no). The error must be caused by something else then.

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

Change 936114 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/FlaggedRevs@master] Revert "Fix ReviewHandlerTest reusing existing test page name"

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

Apparently the test was touched yesterday (Fix ReviewHandlerTest reusing existing test page name, T340004), CC @thiemowmde @awight.

Reverting that change seems to fix EntitySchema CI (but might break FileImporter CI again so let’s not do it just yet). Any idea what’s going on? I can’t make much sense of the error message.

Change 936252 had a related patch set uploaded (by Lucas Werkmeister (WMDE); author: Lucas Werkmeister (WMDE)):

[mediawiki/extensions/FlaggedRevs@master] ReviewHandlerTest: Remove getExistingTestPage() argument again

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

(Pulling into our sprint to reflect that I’ve already spent some time on it.)

We have T256296, T340004, and this now, all attacking the probably same issue from different perspectives. I still can't explain it 100%.

As of now, https://gerrit.wikimedia.org/r/936252 sets the page name back to "UTTest". This might indeed "fix" or more precisely hide the error in certain situations, while making it come back in others. We believe what's going on is that the flaggedrevs database table is not properly cleaned up, and later tests find unrelated rows in there that randomly happen to have the same page id again. I'm still working on it.

Change 936264 had a related patch set uploaded (by Thiemo Kreuz (WMDE); author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/FlaggedRevs@master] Add flaggedrevs table to $tablesUsed in ReviewHandlerTest

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

Change 936252 abandoned by Lucas Werkmeister (WMDE):

[mediawiki/extensions/FlaggedRevs@master] ReviewHandlerTest: Remove getExistingTestPage() argument again

Reason:

doesn’t look like this fixed the error (see PS3 of I9e65befb14); Icf0d13a79a looks much more promising

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

Change 936264 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@master] Add flaggedrevs table to $tablesUsed in ReviewHandlerTest

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

Change 936245 abandoned by Lucas Werkmeister (WMDE):

[mediawiki/extensions/EntitySchema@master] DNM: Empty change to test CI

Reason:

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

Change 936114 abandoned by Lucas Werkmeister (WMDE):

[mediawiki/extensions/FlaggedRevs@master] Revert "Fix ReviewHandlerTest reusing existing test page name"

Reason:

Icf0d13a79a is a better fix

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

Lucas_Werkmeister_WMDE assigned this task to thiemowmde.

Seems to be working on the original EntitySchema change now. Thanks Thiemo!

Change 963045 had a related patch set uploaded (by Umherirrender; author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/FlaggedRevs@REL1_40] Add flaggedrevs table to $tablesUsed in ReviewHandlerTest

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

Change 963168 had a related patch set uploaded (by Umherirrender; author: Thiemo Kreuz (WMDE)):

[mediawiki/extensions/FlaggedRevs@REL1_39] Add flaggedrevs table to $tablesUsed in ReviewHandlerTest

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

Change 963168 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@REL1_39] Add flaggedrevs table to $tablesUsed in ReviewHandlerTest

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

Change 963045 merged by jenkins-bot:

[mediawiki/extensions/FlaggedRevs@REL1_40] Add flaggedrevs table to $tablesUsed in ReviewHandlerTest

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