Page MenuHomePhabricator

Regression in updating of LinkCache during imports
Closed, ResolvedPublic

Description

See https://github.com/SemanticMediaWiki/SemanticMediaWiki/issues/607#issuecomment-73162165 and later comments

mwjames has provided a simple reproduction case that passes before https://gerrit.wikimedia.org/r/#/c/149293/ and fails afterwards. I'll put it in gerrit in a minute.

Event Timeline

Legoktm raised the priority of this task from to Needs Triage.
Legoktm updated the task description. (Show Details)
Legoktm added subscribers: Legoktm, mwjames, TTO.
gerritbot subscribed.

Change 190127 had a related patch set uploaded (by Legoktm):
Failing Import integration test demonstrating T89307

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

Patch-For-Review

Well, the test seems to work properly (or at least not give this error) on my local install, so I don't think I'm going to be any help here.

I can't understand why the import namespace patch would have changed anything, as it in essence only affected in which namespace pages get placed.... I also don't understand why the Jenkins report shows the test failing on the re-import step, but not on the initial import step... Very strange.

The important part of the test is the execution ... at the end of testImportForImportSource:

$page = new \WikiPage( $loremIpsum );
$page->doDeleteArticle( 'import test: delete page' );

$page = new \WikiPage( $categoryLoremIpsum );
$page->doDeleteArticle( 'import test: delete page' );

testReImportForImportSource just tries to re-import the same pages and expects getArticleID to pass for the same conditions as in testImportForImportSource but after 149293 got merged those steps are failing.

It'd be very nice if this could be looked into before the 1.25 release. We (SMW devs) are now put in the awkward position where we cannot declare compatibility with 1.25 due to test failures that are coming from an issue outside of our codebase.

It's blocked by MW-1.25-release so someone should fix it yes :)

I tried to investigate this but only succeeded in making PHPUnit suffer a nasty memory leak...

It's an insidious issue that probably has to do with some very delicate and subtle side-effect of Title object caching. That would be my guess. It would be great if a MediaWiki expert could investigate this issue.

@Legoktm: Any plans to update your patch in Gerrit (if this is still planned to get fixed for 1.25)?

@Legoktm: Any plans to update your patch in Gerrit (if this is still planned to get fixed for 1.25)?

The "patch" is actually a testcase, not a fix.

Asking @tstarling, @mark as MediaWiki experts, if they can see what is going on here.

I doubt Mark cares or knows :)

It'd be very nice if this could be looked into before the 1.25 release. We (SMW devs) are now put in the awkward position where we cannot declare compatibility with 1.25 due to test failures that are coming from an issue outside of our codebase.

Do we know whether this is just a test breaking or actual code running after an import broken?

Do we know whether this is just a test breaking or actual code running after an import broken?

The only assumption that can be made is that before the change was made the behaviour was as describe but that after the mentioned PR the test case no longer passes which means the behaviour and the outcome changed.

https://travis-ci.org/SemanticMediaWiki/SemanticMediaWiki/jobs/63121917 (1.24.1) passes all tests including the describe use case

https://travis-ci.org/SemanticMediaWiki/SemanticMediaWiki/jobs/63121921 (master) fails miserably

Change 213316 had a related patch set uploaded (by Daniel Kinzler):
Reset Title cache when importing titles.

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

Change 213322 had a related patch set uploaded (by Chad):
Reset Title cache when importing titles.

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

Change 213316 merged by jenkins-bot:
Reset Title cache when importing titles.

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

Change 213322 merged by jenkins-bot:
Reset Title cache when importing titles.

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

demon claimed this task.

Change 190127 merged by jenkins-bot:
Follow-up a43af3bc: Add Import integration test

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