Page MenuHomePhabricator

Conversion tests for LQT->Flow at testwiki
Closed, ResolvedPublic

Description

We should do a full conversion test of LQT to Flow, at testwiki, to demonstrate that all redirects/history/etc work as intended, before attempting at mediawiki.org T92303: Convert LQT pages on MediaWiki.org to Flow (tracking)

(Tests ongoing at

and others)

Related Objects

Event Timeline

Quiddity raised the priority of this task from to High.
Quiddity updated the task description. (Show Details)
Quiddity subscribed.

Failed with:

1mattflaschen@terbium:~$ mwscript extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php --wiki=testwiki --debug --srcpage 'User_talk:Hazard-SJ' --logfile "/tmp/Hazard_SJ_import_log.txt"
2[2015-04-28 00:33:30] Starting LQT conversion of page User_talk:Hazard-SJ
3[2015-04-28 00:33:30] Archiving page from User talk:Hazard-SJ to User talk:Hazard-SJ/LQT Archive 1
4[2015-04-28 00:33:31] Importing to User talk:Hazard-SJ
5[2015-04-28 00:33:32] Importing header
6[2015-04-28 00:33:38] Imported 2 revisions for header
7[2015-04-28 00:33:38] Importing new topic
8[2015-04-28 00:33:38] Failed importing topic: topiclqt-api:local:thread_id:24
9[2015-04-28 00:33:38] exception 'Flow\Exception\FailCommitException' with message 'No page for workflow: O:19:"Flow\Model\Workflow":10:{s:5:"' in /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Model/Workflow.php:125
10Stack trace:
11#0 [internal function]: Flow\Model\Workflow::toStorageRow(Object(Flow\Model\Workflow))
12#1 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/Mapper/CachingObjectMapper.php(65): call_user_func(Array, Object(Flow\Model\Workflow))
13#2 [internal function]: Flow\Data\Mapper\CachingObjectMapper->toStorageRow(Object(Flow\Model\Workflow))
14#3 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(244): array_map(Array, Array)
15#4 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(170): Flow\Data\ObjectManager->insert(Array, Array)
16#5 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(143): Flow\Data\ObjectManager->multiPut(Array, Array)
17#6 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ManagerGroup.php(80): Flow\Data\ObjectManager->put(Object(Flow\Model\Workflow), Array)
18#7 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(276): Flow\Data\ManagerGroup->put(Object(Flow\Model\Workflow), Array)
19#8 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(719): Flow\Import\PageImportState->put(Object(Flow\Model\Workflow), Array)
20#9 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(663): Flow\Import\TalkpageImportOperation->createTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
21#10 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(565): Flow\Import\TalkpageImportOperation->getTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
22#11 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(126): Flow\Import\TalkpageImportOperation->import(Object(Flow\Import\PageImportState))
23#12 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(173): Flow\Import\Importer->import(Object(Flow\Import\LiquidThreadsApi\ImportSource), Object(Title), Object(Flow\Import\FileImportSourceStore))
24#13 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(114): Flow\Import\Converter->doConversion(Object(Title), NULL)
25#14 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(77): Flow\Import\Converter->convert(Array)
26#15 /srv/mediawiki/php-1.26wmf3/maintenance/doMaintenance.php(103): ConvertLqtPageOnLocalWiki->execute()
27#16 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(82): require_once('/srv/mediawiki/...')
28#17 /srv/mediawiki/multiversion/MWScript.php(97): require_once('/srv/mediawiki/...')
29#18 {main}
30[2015-04-28 00:33:38] Importing new topic
31[2015-04-28 00:33:38] Failed importing topic: topiclqt-api:local:thread_id:28
32[2015-04-28 00:33:38] exception 'Flow\Exception\FailCommitException' with message 'No page for workflow: O:19:"Flow\Model\Workflow":10:{s:5:"' in /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Model/Workflow.php:125
33Stack trace:
34#0 [internal function]: Flow\Model\Workflow::toStorageRow(Object(Flow\Model\Workflow))
35#1 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/Mapper/CachingObjectMapper.php(65): call_user_func(Array, Object(Flow\Model\Workflow))
36#2 [internal function]: Flow\Data\Mapper\CachingObjectMapper->toStorageRow(Object(Flow\Model\Workflow))
37#3 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(244): array_map(Array, Array)
38#4 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(170): Flow\Data\ObjectManager->insert(Array, Array)
39#5 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(143): Flow\Data\ObjectManager->multiPut(Array, Array)
40#6 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ManagerGroup.php(80): Flow\Data\ObjectManager->put(Object(Flow\Model\Workflow), Array)
41#7 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(276): Flow\Data\ManagerGroup->put(Object(Flow\Model\Workflow), Array)
42#8 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(719): Flow\Import\PageImportState->put(Object(Flow\Model\Workflow), Array)
43#9 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(663): Flow\Import\TalkpageImportOperation->createTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
44#10 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(565): Flow\Import\TalkpageImportOperation->getTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
45#11 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(126): Flow\Import\TalkpageImportOperation->import(Object(Flow\Import\PageImportState))
46#12 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(173): Flow\Import\Importer->import(Object(Flow\Import\LiquidThreadsApi\ImportSource), Object(Title), Object(Flow\Import\FileImportSourceStore))
47#13 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(114): Flow\Import\Converter->doConversion(Object(Title), NULL)
48#14 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(77): Flow\Import\Converter->convert(Array)
49#15 /srv/mediawiki/php-1.26wmf3/maintenance/doMaintenance.php(103): ConvertLqtPageOnLocalWiki->execute()
50#16 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(82): require_once('/srv/mediawiki/...')
51#17 /srv/mediawiki/multiversion/MWScript.php(97): require_once('/srv/mediawiki/...')
52#18 {main}
53[2015-04-28 00:33:38] Importing new topic
54[2015-04-28 00:33:38] Failed importing topic: topiclqt-api:local:thread_id:30
55[2015-04-28 00:33:38] exception 'Flow\Exception\FailCommitException' with message 'No page for workflow: O:19:"Flow\Model\Workflow":10:{s:5:"' in /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Model/Workflow.php:125
56Stack trace:
57#0 [internal function]: Flow\Model\Workflow::toStorageRow(Object(Flow\Model\Workflow))
58#1 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/Mapper/CachingObjectMapper.php(65): call_user_func(Array, Object(Flow\Model\Workflow))
59#2 [internal function]: Flow\Data\Mapper\CachingObjectMapper->toStorageRow(Object(Flow\Model\Workflow))
60#3 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(244): array_map(Array, Array)
61#4 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(170): Flow\Data\ObjectManager->insert(Array, Array)
62#5 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(143): Flow\Data\ObjectManager->multiPut(Array, Array)
63#6 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ManagerGroup.php(80): Flow\Data\ObjectManager->put(Object(Flow\Model\Workflow), Array)
64#7 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(276): Flow\Data\ManagerGroup->put(Object(Flow\Model\Workflow), Array)
65#8 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(719): Flow\Import\PageImportState->put(Object(Flow\Model\Workflow), Array)
66#9 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(663): Flow\Import\TalkpageImportOperation->createTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
67#10 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(565): Flow\Import\TalkpageImportOperation->getTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
68#11 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(126): Flow\Import\TalkpageImportOperation->import(Object(Flow\Import\PageImportState))
69#12 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(173): Flow\Import\Importer->import(Object(Flow\Import\LiquidThreadsApi\ImportSource), Object(Title), Object(Flow\Import\FileImportSourceStore))
70#13 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(114): Flow\Import\Converter->doConversion(Object(Title), NULL)
71#14 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(77): Flow\Import\Converter->convert(Array)
72#15 /srv/mediawiki/php-1.26wmf3/maintenance/doMaintenance.php(103): ConvertLqtPageOnLocalWiki->execute()
73#16 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(82): require_once('/srv/mediawiki/...')
74#17 /srv/mediawiki/multiversion/MWScript.php(97): require_once('/srv/mediawiki/...')
75#18 {main}
76[2015-04-28 00:33:38] Importing new topic
77[2015-04-28 00:33:38] Failed importing topic: topiclqt-api:local:thread_id:67
78[2015-04-28 00:33:38] exception 'Flow\Exception\FailCommitException' with message 'No page for workflow: O:19:"Flow\Model\Workflow":10:{s:5:"' in /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Model/Workflow.php:125
79Stack trace:
80#0 [internal function]: Flow\Model\Workflow::toStorageRow(Object(Flow\Model\Workflow))
81#1 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/Mapper/CachingObjectMapper.php(65): call_user_func(Array, Object(Flow\Model\Workflow))
82#2 [internal function]: Flow\Data\Mapper\CachingObjectMapper->toStorageRow(Object(Flow\Model\Workflow))
83#3 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(244): array_map(Array, Array)
84#4 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(170): Flow\Data\ObjectManager->insert(Array, Array)
85#5 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(143): Flow\Data\ObjectManager->multiPut(Array, Array)
86#6 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ManagerGroup.php(80): Flow\Data\ObjectManager->put(Object(Flow\Model\Workflow), Array)
87#7 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(276): Flow\Data\ManagerGroup->put(Object(Flow\Model\Workflow), Array)
88#8 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(719): Flow\Import\PageImportState->put(Object(Flow\Model\Workflow), Array)
89#9 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(663): Flow\Import\TalkpageImportOperation->createTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
90#10 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(565): Flow\Import\TalkpageImportOperation->getTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
91#11 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(126): Flow\Import\TalkpageImportOperation->import(Object(Flow\Import\PageImportState))
92#12 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(173): Flow\Import\Importer->import(Object(Flow\Import\LiquidThreadsApi\ImportSource), Object(Title), Object(Flow\Import\FileImportSourceStore))
93#13 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(114): Flow\Import\Converter->doConversion(Object(Title), NULL)
94#14 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(77): Flow\Import\Converter->convert(Array)
95#15 /srv/mediawiki/php-1.26wmf3/maintenance/doMaintenance.php(103): ConvertLqtPageOnLocalWiki->execute()
96#16 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(82): require_once('/srv/mediawiki/...')
97#17 /srv/mediawiki/multiversion/MWScript.php(97): require_once('/srv/mediawiki/...')
98#18 {main}
99[2015-04-28 00:33:38] Importing new topic
100[2015-04-28 00:33:38] Failed importing topic: topiclqt-api:local:thread_id:68
101[2015-04-28 00:33:38] exception 'Flow\Exception\FailCommitException' with message 'No page for workflow: O:19:"Flow\Model\Workflow":10:{s:5:"' in /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Model/Workflow.php:125
102Stack trace:
103#0 [internal function]: Flow\Model\Workflow::toStorageRow(Object(Flow\Model\Workflow))
104#1 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/Mapper/CachingObjectMapper.php(65): call_user_func(Array, Object(Flow\Model\Workflow))
105#2 [internal function]: Flow\Data\Mapper\CachingObjectMapper->toStorageRow(Object(Flow\Model\Workflow))
106#3 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(244): array_map(Array, Array)
107#4 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(170): Flow\Data\ObjectManager->insert(Array, Array)
108#5 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ObjectManager.php(143): Flow\Data\ObjectManager->multiPut(Array, Array)
109#6 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Data/ManagerGroup.php(80): Flow\Data\ObjectManager->put(Object(Flow\Model\Workflow), Array)
110#7 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(276): Flow\Data\ManagerGroup->put(Object(Flow\Model\Workflow), Array)
111#8 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(719): Flow\Import\PageImportState->put(Object(Flow\Model\Workflow), Array)
112#9 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(663): Flow\Import\TalkpageImportOperation->createTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
113#10 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(565): Flow\Import\TalkpageImportOperation->getTopicState(Object(Flow\Import\PageImportState), Object(Flow\Import\LiquidThreadsApi\ImportTopic))
114#11 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Importer.php(126): Flow\Import\TalkpageImportOperation->import(Object(Flow\Import\PageImportState))
115#12 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(173): Flow\Import\Importer->import(Object(Flow\Import\LiquidThreadsApi\ImportSource), Object(Title), Object(Flow\Import\FileImportSourceStore))
116#13 /srv/mediawiki/php-1.26wmf3/extensions/Flow/includes/Import/Converter.php(114): Flow\Import\Converter->doConversion(Object(Title), NULL)
117#14 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(77): Flow\Import\Converter->convert(Array)
118#15 /srv/mediawiki/php-1.26wmf3/maintenance/doMaintenance.php(103): ConvertLqtPageOnLocalWiki->execute()
119#16 /srv/mediawiki/php-1.26wmf3/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(82): require_once('/srv/mediawiki/...')
120#17 /srv/mediawiki/multiversion/MWScript.php(97): require_once('/srv/mediawiki/...')
121#18 {main}
122[2015-04-28 00:33:38] Flow\Import\LiquidThreadsApi\ApiBackend::retrieveThreadData: Did not find thread with conditions: {"thpage":"User talk:Hazard-SJ\/LQT Archive 1","thstartid":71}
123[2015-04-28 00:33:38] Imported 1 items, failed 5
124[2015-04-28 00:33:38] Failed to complete import to User talk:Hazard-SJ from User talk:Hazard-SJ/LQT Archive 1
125mattflaschen@terbium:~$

I retested locally (with a fresh board) on 1.26wmf3, and it still works perfectly. I suspect this is a master/slave issue (I tried to Do The Right Thing here, but I'm not testing with a true master/slave setup locally).

I know there was a couple attempts to introduce fake slave lag on MediaWiki-Vagrant (e.g. 29fdf3edf61f7f5cb21ff99c7199c06e3d5252c7), but they were both reverted AFAICT.

I haven't figured this out yet. A new set of eyes would be helpful.

It works fine on Beta:

1mattflaschen@deployment-bastion:~$ mwscript extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php --wiki=testwiki --debug --srcpage 'Wikipedia_talk:LQT_Test_2015-04-28_2' --logfile "/tmp/test_log.txt"
2[2015-04-28 23:40:33] Starting LQT conversion of page Wikipedia_talk:LQT_Test_2015-04-28_2
3[2015-04-28 23:40:33] Archiving page from Wikipedia talk:LQT Test 2015-04-28 2 to Wikipedia talk:LQT Test 2015-04-28 2/LQT Archive 1
4[2015-04-28 23:40:34] Importing to Wikipedia talk:LQT Test 2015-04-28 2
5[2015-04-28 23:40:35] Importing header
6[2015-04-28 23:40:39] Imported 2 revisions for header
7[2015-04-28 23:40:39] Importing new topic
8[2015-04-28 23:40:39] Finished importing topic title with 1 revisions
9[2015-04-28 23:40:39] Importing post
10[2015-04-28 23:40:40] Finished importing post with 1 revisions
11[2015-04-28 23:40:41] Importing new topic
12[2015-04-28 23:40:41] Finished importing topic title with 1 revisions
13[2015-04-28 23:40:41] Importing post
14[2015-04-28 23:40:43] Finished importing post with 1 revisions
15[2015-04-28 23:40:44] Importing new topic
16[2015-04-28 23:40:44] Finished importing topic title with 1 revisions
17[2015-04-28 23:40:44] Importing post
18[2015-04-28 23:40:44] Finished importing post with 1 revisions
19[2015-04-28 23:40:45] Flow\Import\LiquidThreadsApi\ApiBackend::retrieveThreadData: Did not find thread with conditions: {"thpage":"Wikipedia talk:LQT Test 2015-04-28 2\/LQT Archive 1","thstartid":10810}
20[2015-04-28 23:40:45] Imported 4 items, failed 0
21[2015-04-28 23:40:45] Completed import to Wikipedia talk:LQT Test 2015-04-28 2 from Wikipedia talk:LQT Test 2015-04-28 2/LQT Archive 1

and locally (even with a fake master/slave setup, and with and without fakeSlaveLag):

1vagrant@mediawiki-vagrant:~$ f=/tmp/association.log; sudo rm -f $f; sudo -u www-data --preserve-env mwscript extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php --wiki=wiki --debug --srcpage 'Talk:LQT_2015-04-28_with_fakeSlaveLag' --logfile "$f"
2[2015-04-29 01:15:01] Starting LQT conversion of page Talk:LQT_2015-04-28_with_fakeSlaveLag
3[2015-04-29 01:15:01] Archiving page from Talk:LQT 2015-04-28 with fakeSlaveLag to Talk:LQT 2015-04-28 with fakeSlaveLag/LQT Archive 1
4[2015-04-29 01:15:03] Importing to Talk:LQT 2015-04-28 with fakeSlaveLag
5[2015-04-29 01:15:08] Importing header
6[2015-04-29 01:15:15] Imported 2 revisions for header
7[2015-04-29 01:15:15] Importing new topic
8[2015-04-29 01:15:15] Finished importing topic title with 1 revisions
9[2015-04-29 01:15:15] Importing post
10[2015-04-29 01:15:16] Finished importing post with 1 revisions
11[2015-04-29 01:15:24] Importing new topic
12[2015-04-29 01:15:24] Finished importing topic title with 1 revisions
13[2015-04-29 01:15:24] Importing post
14[2015-04-29 01:15:25] Finished importing post with 1 revisions
15[2015-04-29 01:15:29] Importing new topic
16[2015-04-29 01:15:29] Finished importing topic title with 1 revisions
17[2015-04-29 01:15:29] Importing post
18[2015-04-29 01:15:29] Finished importing post with 1 revisions
19[2015-04-29 01:15:33] Flow\Import\LiquidThreadsApi\ApiBackend::retrieveThreadData: Did not find thread with conditions: {"thpage":"Talk:LQT 2015-04-28 with fakeSlaveLag\/LQT Archive 1","thstartid":189}
20[2015-04-29 01:15:33] Imported 4 items, failed 0
21[2015-04-29 01:15:33] Completed import to Talk:LQT 2015-04-28 with fakeSlaveLag from Talk:LQT 2015-04-28 with fakeSlaveLag/LQT Archive 1

One thing that hasn't been fully explored is whether it's specific to User_talk:Hazard-SJ's history (page moves, initial failed conversion for separate reasons, etc.). We could try another page on testwiki in production.

But first I'd like someone else to take a look at it, before we try again in production.

Thanks.

After some debugging, it looks like the issue is perhaps just an artifact of a previous failed import.

The flow_workflow table contains a discussion workflow for User_talk:Hazard-SJ pointing to page_id 39181. This is the page id of the LQT page. At the begining of the import process this is moved to User_talk:Hazard-SJ/LQT Archive 1 Because this already exists, TalkpageImportOperation::import() gets false for $state->boardWorkflow->isNew() and never tries to create a page for it using ensureFlowRevision().

Matt you might remember best, but my impression is that this was caused by the initial failed import when it was not moving the LQT page out of the way, but rather usurping it with a flow revision on top of the flow revision. With the various fixes in the code base since then I don't think we should be expecting this to happen again. It should be safe to delete both workflows that exist (one topic and one discussion) from the flow_workflow table for workflow_wiki = testwiki, workflow_namespace = 3, workflow_title_text = Hazard-SJ and call it a day.

I was just thinking about this, perhaps I overlooked something when writing the code for moving boards because if everything was working properly even though that workflow is wrong, it should get updated to point to the new User_talk:Hazard-SJ/LQT Archive 1 when the page move happens.

I was just thinking about this, perhaps I overlooked something when writing the code for moving boards because if everything was working properly even though that workflow is wrong, it should get updated to point to the new User_talk:Hazard-SJ/LQT Archive 1 when the page move happens.

After I repaired the broken Flow board, it was the original LQT page again. That means when the import script did the move, that content model wasn't flow-board, so the Flow hooks ignored it.

Hmm, i wonder if we should be checking for a workflow with matching page id and not just the content model? It seems like the workflow should still get repointed if moved, even if its not the current top revision.

@EBernhardson, yeah, I guess this is still necessary for accurate contributions reporting (with the namespace selector) for posts to a Flow board that was moved after it was no longer a Flow board.

Filed as T97568: Update Flow boards for move even if the top revision is no longer a Flow board

Matt you might remember best, but my impression is that this was caused by the initial failed import when it was not moving the LQT page out of the way, but rather usurping it with a flow revision on top of the flow revision. With the various fixes in the code base since then I don't think we should be expecting this to happen again. It should be safe to delete both workflows that exist (one topic and one discussion) from the flow_workflow table for workflow_wiki = testwiki, workflow_namespace = 3, workflow_title_text = Hazard-SJ and call it a day.

This makes sense, and I deleted it:

mysql:research@x1-analytics-slave [(none)]> select workflow_type, workflow_namespace, workflow_title_text from flowdb.flow_workflow WHERE workflow_page_id = '39181' OR (workflow_namespace = 3 AND workflow_title_text = 'Hazard-SJ');
Empty set (0.04 sec)

After that, it does not seem to be cached (even without an explicit cache clear):

mattflaschen@terbium:~$ mwscript eval.php --wiki=testwiki
> $container = Flow\Container::getContainer();

> $container->extend( 'memcache', function( $memcache, $c ) {$c['memcache.purge_backup'] = $memcache; return new HashBagOStuff; } );

> $hashBag = $container['memcache'];

> $loader = $container['factory.loader.workflow'];

> $title = Title::newFromText( 'User talk:Hazard-SJ' );

> $workflow = $loader->createWorkflowLoader( $title )->getWorkflow();

> echo $workflow->isNew();
1

Never mind, that was a mistake (that session is deliberately not using the real cache).

It is cached:

mattflaschen@terbium:~$ mwscript eval.php --wiki=testwiki
> $container = Flow\Container::getContainer();

> $loader = $container['factory.loader.workflow'];

> $title = Title::newFromText( 'User talk:Hazard-SJ' );

> $workflow = $loader->createWorkflowLoader( $title )->getWorkflow();

> var_export( $workflow->isNew() );
false

Finally:

1mattflaschen@terbium:~$ mwscript extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php --wiki=testwiki --debug --srcpage 'User_talk:Hazard-SJ' --logfile "/tmp/Hazard_SJ_import_log_2015_04_29_retest_2.txt"
2[2015-04-29 22:35:29] Starting LQT conversion of page User_talk:Hazard-SJ
3[2015-04-29 22:35:29] Archiving page from User talk:Hazard-SJ to User talk:Hazard-SJ/LQT Archive 1
4[2015-04-29 22:35:30] Importing to User talk:Hazard-SJ
5[2015-04-29 22:35:30] Importing header
6[2015-04-29 22:35:31] Imported 2 revisions for header
7[2015-04-29 22:35:31] Importing new topic
8[2015-04-29 22:35:31] Finished importing topic title with 1 revisions
9[2015-04-29 22:35:31] Importing post
10[2015-04-29 22:35:32] Finished importing post with 1 revisions
11[2015-04-29 22:35:32] Importing post
12[2015-04-29 22:35:32] Finished importing post with 1 revisions
13[2015-04-29 22:35:32] Importing post
14[2015-04-29 22:35:32] Finished importing post with 1 revisions
15[2015-04-29 22:35:32] Importing post
16[2015-04-29 22:35:32] Finished importing post with 1 revisions
17[2015-04-29 22:35:34] Importing new topic
18[2015-04-29 22:35:35] Finished importing topic title with 1 revisions
19[2015-04-29 22:35:35] Importing post
20[2015-04-29 22:35:35] Finished importing post with 1 revisions
21[2015-04-29 22:35:35] Importing post
22[2015-04-29 22:35:35] Finished importing post with 1 revisions
23[2015-04-29 22:35:36] Importing new topic
24[2015-04-29 22:35:36] Finished importing topic title with 1 revisions
25[2015-04-29 22:35:36] Importing post
26[2015-04-29 22:35:37] Finished importing post with 1 revisions
27[2015-04-29 22:35:37] Importing post
28[2015-04-29 22:35:37] Finished importing post with 1 revisions
29[2015-04-29 22:35:37] Importing post
30[2015-04-29 22:35:38] Finished importing post with 1 revisions
31[2015-04-29 22:35:38] Importing post
32[2015-04-29 22:35:38] Finished importing post with 1 revisions
33[2015-04-29 22:35:41] Importing new topic
34[2015-04-29 22:35:41] Finished importing topic title with 1 revisions
35[2015-04-29 22:35:41] Importing post
36[2015-04-29 22:35:41] Finished importing post with 3 revisions
37[2015-04-29 22:35:41] Importing post
38[2015-04-29 22:35:41] Finished importing post with 1 revisions
39[2015-04-29 22:35:43] Importing new topic
40[2015-04-29 22:35:43] Finished importing topic title with 1 revisions
41[2015-04-29 22:35:43] Importing post
42[2015-04-29 22:35:43] Finished importing post with 1 revisions
43[2015-04-29 22:35:43] Importing post
44[2015-04-29 22:35:43] Finished importing post with 1 revisions
45[2015-04-29 22:35:45] Flow\Import\LiquidThreadsApi\ApiBackend::retrieveThreadData: Did not find thread with conditions: {"thpage":"User talk:Hazard-SJ\/LQT Archive 1","thstartid":71}
46[2015-04-29 22:35:45] Imported 6 items, failed 0
47[2015-04-29 22:35:45] Completed import to User talk:Hazard-SJ from User talk:Hazard-SJ/LQT Archive 1
48mattflaschen@terbium:~$

The "Did not find thread with conditions" at the end is not an error. It's just debugging code indicating it's done paging.

Talk:LQT (a fresh conversion) also went fine (see end). However, after that Talk:Poem failed:

1mattflaschen@terbium:~$ mwscript extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php --wiki=testwiki --debug --srcpage 'Talk:Poem' --logfile "/tmp/Talk_Poem.log"
2[2015-04-30 00:11:55] Starting LQT conversion of page Talk:Poem
3[2015-04-30 00:11:55] Archiving page from Talk:Poem to Talk:Poem/LQT Archive 1
4[2015-04-30 00:11:55] Importing to Talk:Poem
5[2015-04-30 00:11:55] Exception while importing: Talk:Poem
6[2015-04-30 00:11:55] exception 'Flow\Exception\FailCommitException' with message 'No page for workflow: O:19:"Flow\Model\Workflow":10:{s:5:"' in /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Model/Workflow.php:125
7Stack trace:
8#0 [internal function]: Flow\Model\Workflow::toStorageRow(Object(Flow\Model\Workflow))
9#1 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Data/Mapper/CachingObjectMapper.php(65): call_user_func(Array, Object(Flow\Model\Workflow))
10#2 [internal function]: Flow\Data\Mapper\CachingObjectMapper->toStorageRow(Object(Flow\Model\Workflow))
11#3 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Data/ObjectManager.php(244): array_map(Array, Array)
12#4 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Data/ObjectManager.php(170): Flow\Data\ObjectManager->insert(Array, Array)
13#5 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Data/ObjectManager.php(143): Flow\Data\ObjectManager->multiPut(Array, Array)
14#6 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Data/ManagerGroup.php(80): Flow\Data\ObjectManager->put(Object(Flow\Model\Workflow), Array)
15#7 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Import/Importer.php(277): Flow\Data\ManagerGroup->put(Object(Flow\Model\Workflow), Array)
16#8 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Import/Importer.php(537): Flow\Import\PageImportState->put(Object(Flow\Model\Workflow), Array)
17#9 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Import/Importer.php(127): Flow\Import\TalkpageImportOperation->import(Object(Flow\Import\PageImportState))
18#10 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Import/Converter.php(186): Flow\Import\Importer->import(Object(Flow\Import\LiquidThreadsApi\ImportSource), Object(Title), Object(Flow\Import\FileImportSourceStore))
19#11 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Import/Converter.php(133): Flow\Import\Converter->doConversion(Object(Title), NULL)
20#12 /srv/mediawiki/php-1.26wmf4/extensions/Flow/includes/Import/Converter.php(108): Flow\Import\Converter->convert(Object(Title))
21#13 /srv/mediawiki/php-1.26wmf4/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(77): Flow\Import\Converter->convertAll(Array)
22#14 /srv/mediawiki/php-1.26wmf4/maintenance/doMaintenance.php(103): ConvertLqtPageOnLocalWiki->execute()
23#15 /srv/mediawiki/php-1.26wmf4/extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php(82): require_once('/srv/mediawiki/...')
24#16 /srv/mediawiki/multiversion/MWScript.php(97): require_once('/srv/mediawiki/...')
25#17 {main}
26mattflaschen@terbium:~$


Talk:LQT

1mattflaschen@terbium:~$ mwscript extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php --wiki=testwiki --debug --srcpage 'Talk:LQT' --logfile "/tmp/Talk_LQT.log"
2[2015-04-29 23:47:14] Starting LQT conversion of page Talk:LQT
3[2015-04-29 23:47:14] Archiving page from Talk:LQT to Talk:LQT/LQT Archive 1
4[2015-04-29 23:47:14] Importing to Talk:LQT
5[2015-04-29 23:47:15] Importing header
6[2015-04-29 23:47:16] Imported 2 revisions for header
7[2015-04-29 23:47:16] Importing new topic
8[2015-04-29 23:47:16] Finished importing topic title with 1 revisions
9[2015-04-29 23:47:16] Importing post
10[2015-04-29 23:47:16] Finished importing post with 1 revisions
11[2015-04-29 23:47:16] Importing post
12[2015-04-29 23:47:17] Finished importing post with 1 revisions
13[2015-04-29 23:47:17] Importing post
14[2015-04-29 23:47:17] Finished importing post with 1 revisions
15[2015-04-29 23:47:19] Importing new topic
16[2015-04-29 23:47:19] Finished importing topic title with 1 revisions
17[2015-04-29 23:47:19] Importing post
18[2015-04-29 23:47:19] Finished importing post with 1 revisions
19[2015-04-29 23:47:19] Importing post
20[2015-04-29 23:47:19] Finished importing post with 1 revisions
21[2015-04-29 23:47:19] Importing post
22[2015-04-29 23:47:20] Finished importing post with 1 revisions
23[2015-04-29 23:47:20] Importing post
24[2015-04-29 23:47:21] Finished importing post with 1 revisions
25[2015-04-29 23:47:21] Importing post
26[2015-04-29 23:47:22] Finished importing post with 1 revisions
27[2015-04-29 23:47:22] Importing post
28[2015-04-29 23:47:22] Finished importing post with 1 revisions
29[2015-04-29 23:47:22] Importing post
30[2015-04-29 23:47:22] Finished importing post with 1 revisions
31[2015-04-29 23:47:22] Importing post
32[2015-04-29 23:47:23] Finished importing post with 4 revisions
33[2015-04-29 23:47:23] Importing post
34[2015-04-29 23:47:23] Finished importing post with 1 revisions
35[2015-04-29 23:47:23] Importing post
36[2015-04-29 23:47:24] Finished importing post with 1 revisions
37[2015-04-29 23:47:24] Importing post
38[2015-04-29 23:47:24] Finished importing post with 1 revisions
39[2015-04-29 23:47:26] Importing new topic
40[2015-04-29 23:47:26] Finished importing topic title with 1 revisions
41[2015-04-29 23:47:26] Importing post
42[2015-04-29 23:47:26] Finished importing post with 1 revisions
43[2015-04-29 23:47:26] Importing post
44[2015-04-29 23:47:27] Finished importing post with 1 revisions
45[2015-04-29 23:47:27] Importing post
46[2015-04-29 23:47:27] Finished importing post with 1 revisions
47[2015-04-29 23:47:27] Importing post
48[2015-04-29 23:47:27] Finished importing post with 1 revisions
49[2015-04-29 23:47:27] Importing post
50[2015-04-29 23:47:27] Finished importing post with 1 revisions
51[2015-04-29 23:47:27] Importing post
52[2015-04-29 23:47:28] Finished importing post with 1 revisions
53[2015-04-29 23:47:28] Importing post
54[2015-04-29 23:47:28] Finished importing post with 1 revisions
55[2015-04-29 23:47:30] Importing new topic
56[2015-04-29 23:47:30] Finished importing topic title with 1 revisions
57[2015-04-29 23:47:30] Importing post
58[2015-04-29 23:47:30] Finished importing post with 1 revisions
59[2015-04-29 23:47:30] Importing post
60[2015-04-29 23:47:30] Finished importing post with 1 revisions
61[2015-04-29 23:47:31] Flow\Import\LiquidThreadsApi\ApiBackend::retrieveThreadData: Did not find thread with conditions: {"thpage":"Talk:LQT\/LQT Archive 1","thstartid":93}
62[2015-04-29 23:47:31] Imported 5 items, failed 0
63[2015-04-29 23:47:31] Completed import to Talk:LQT from Talk:LQT/LQT Archive 1
64mattflaschen@terbium:~$

This is a similar error, but can't be the same cause, since the original issue on Hazard-SJ never happened on Talk:Poem.

mysql:research@x1-analytics-slave [(none)]> select workflow_type, workflow_namespace, workflow_title_text from flowdb.flow_workflow WHERE workflow_title_text LIKE '%Poem%';
Empty set (0.02 sec)

Change 207726 had a related patch set uploaded (by Mattflaschen):
Change ensureFlowRevision to use Status and not check summary

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

Change 207726 merged by jenkins-bot:
Change ensureFlowRevision to use Status and not check summary

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

I think Talk:Poem failed because allowCreation didn't succeed. It uses $mustNotExist = true by default, which is right, but I think its existence check was out of date so it was wrongly still seeing the LQT page we had just moved out of the way.

Patch coming for that.

Change 207835 had a related patch set uploaded (by Mattflaschen):
Make sure allowCreation existence status is right, use Status

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

Change 207835 merged by jenkins-bot:
Make sure allowCreation existence status is right, use Status

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

Change 207981 had a related patch set uploaded (by Mattflaschen):
Change ensureFlowRevision to use Status and not check summary

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

Change 207981 merged by jenkins-bot:
Change ensureFlowRevision to use Status and not check summary

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

Change 207984 had a related patch set uploaded (by Mattflaschen):
Make sure allowCreation existence status is right, use Status

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

Change 207984 merged by jenkins-bot:
Make sure allowCreation existence status is right, use Status

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

Another test worked, with the new debugging code:

1[2015-04-30 22:51:47] Starting LQT conversion of page Talk:LQT_Test_2015-04-30_1
2[2015-04-30 22:51:47] Archiving page from Talk:LQT Test 2015-04-30 1 to Talk:LQT Test 2015-04-30 1/LQT Archive 1
3[2015-04-30 22:51:47] Importing to Talk:LQT Test 2015-04-30 1
4[2015-04-30 22:51:47] Workflow isNew: true
5[2015-04-30 22:51:48] ensureFlowRevision status isOK: true
6[2015-04-30 22:51:48] ensureFlowRevision status isGood: true
7[2015-04-30 22:51:48] ensureFlowRevision already-existed: false
8[2015-04-30 22:51:48] ensureFlowRevision revision ID: 229278, page ID: 81291
9[2015-04-30 22:51:48] Importing header
10[2015-04-30 22:51:48] Imported 2 revisions for header
11[2015-04-30 22:51:48] Importing new topic
12[2015-04-30 22:51:48] Finished importing topic title with 1 revisions
13[2015-04-30 22:51:48] Importing post
14[2015-04-30 22:51:48] Finished importing post with 1 revisions
15[2015-04-30 22:51:49] Importing new topic
16[2015-04-30 22:51:49] Finished importing topic title with 1 revisions
17[2015-04-30 22:51:49] Importing post
18[2015-04-30 22:51:49] Finished importing post with 1 revisions
19[2015-04-30 22:51:49] Importing post
20[2015-04-30 22:51:50] Finished importing post with 1 revisions
21[2015-04-30 22:51:51] Importing new topic
22[2015-04-30 22:51:51] Finished importing topic title with 1 revisions
23[2015-04-30 22:51:51] Importing post
24[2015-04-30 22:51:51] Finished importing post with 1 revisions
25[2015-04-30 22:51:52] Flow\Import\LiquidThreadsApi\ApiBackend::retrieveThreadData: Did not find thread with conditions: {"thpage":"Talk:LQT Test 2015-04-30 1\/LQT Archive 1","thstartid":103}
26[2015-04-30 22:51:52] Imported 4 items, failed 0
27[2015-04-30 22:51:52] Completed import to Talk:LQT Test 2015-04-30 1 from Talk:LQT Test 2015-04-30 1/LQT Archive 1

The header edit is somehow in the wrong order for Talk:Ballet. Everything else looks good to me, so I'll take a look at that.

1mattflaschen@terbium:~$ mwscript extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php --wiki=testwiki --debug --srcpage 'User:Ricordisamoa' --logfile "/tmp/Ricordisamoa.log"[2015-04-30 23:01:21] Starting LQT conversion of page User:Ricordisamoa
2[2015-04-30 23:01:21] Archiving page from User:Ricordisamoa to User:Ricordisamoa/LQT Archive 1
3[2015-04-30 23:01:22] Importing to User:Ricordisamoa
4[2015-04-30 23:01:22] Workflow isNew: true
5[2015-04-30 23:01:22] ensureFlowRevision status isOK: true
6[2015-04-30 23:01:22] ensureFlowRevision status isGood: true
7[2015-04-30 23:01:22] ensureFlowRevision already-existed: false
8[2015-04-30 23:01:22] ensureFlowRevision revision ID: 229291, page ID: 81295
9[2015-04-30 23:01:22] Importing header
10[2015-04-30 23:01:23] Imported 2 revisions for header
11[2015-04-30 23:01:23] Importing new topic
12[2015-04-30 23:01:23] Finished importing topic title with 1 revisions
13[2015-04-30 23:01:23] Importing post
14[2015-04-30 23:01:23] Finished importing post with 1 revisions
15[2015-04-30 23:01:23] Importing post
16[2015-04-30 23:01:23] Finished importing post with 1 revisions
17[2015-04-30 23:01:25] Importing new topic
18[2015-04-30 23:01:25] Finished importing topic title with 1 revisions
19[2015-04-30 23:01:25] Importing post
20[2015-04-30 23:01:25] Finished importing post with 1 revisions
21[2015-04-30 23:01:26] Importing new topic
22[2015-04-30 23:01:26] Finished importing topic title with 1 revisions
23[2015-04-30 23:01:26] Importing post
24[2015-04-30 23:01:26] Finished importing post with 3 revisions
25[2015-04-30 23:01:27] Flow\Import\LiquidThreadsApi\ApiBackend::retrieveThreadData: Did not find thread with conditions: {"thpage":"User:Ricordisamoa\/LQT Archive 1","thstartid":67}
26[2015-04-30 23:01:27] Imported 4 items, failed 0
27[2015-04-30 23:01:27] Completed import to User:Ricordisamoa from User:Ricordisamoa/LQT Archive 1

1mattflaschen@terbium:~$ mwscript extensions/Flow/maintenance/convertLqtPageOnLocalWiki.php --wiki=testwiki --debug --srcpage 'Talk:Ballet' --logfile "/tmp/Ballet.log"
2[2015-04-30 23:14:16] Starting LQT conversion of page Talk:Ballet
3[2015-04-30 23:14:16] Archiving page from Talk:Ballet to Talk:Ballet/LQT Archive 1
4[2015-04-30 23:14:16] Importing to Talk:Ballet
5[2015-04-30 23:14:16] Workflow isNew: true
6[2015-04-30 23:14:16] ensureFlowRevision status isOK: true
7[2015-04-30 23:14:16] ensureFlowRevision status isGood: true
8[2015-04-30 23:14:16] ensureFlowRevision already-existed: false
9[2015-04-30 23:14:16] ensureFlowRevision revision ID: 229315, page ID: 81309
10[2015-04-30 23:14:16] Importing header
11[2015-04-30 23:14:17] Imported 2 revisions for header
12[2015-04-30 23:14:17] Importing new topic
13[2015-04-30 23:14:17] Finished importing topic title with 1 revisions
14[2015-04-30 23:14:17] Importing post
15[2015-04-30 23:14:17] Finished importing post with 1 revisions
16[2015-04-30 23:14:17] Importing post
17[2015-04-30 23:14:18] Finished importing post with 2 revisions
18[2015-04-30 23:14:18] Importing post
19[2015-04-30 23:14:18] Finished importing post with 1 revisions
20[2015-04-30 23:14:19] Importing new topic
21[2015-04-30 23:14:20] Finished importing topic title with 1 revisions
22[2015-04-30 23:14:20] Importing post
23[2015-04-30 23:14:20] Finished importing post with 1 revisions
24[2015-04-30 23:14:20] Importing post
25[2015-04-30 23:14:20] Finished importing post with 1 revisions
26[2015-04-30 23:14:20] Importing post
27[2015-04-30 23:14:20] Finished importing post with 1 revisions
28[2015-04-30 23:14:22] Importing new topic
29[2015-04-30 23:14:22] Finished importing topic title with 1 revisions
30[2015-04-30 23:14:22] Importing summary
31[2015-04-30 23:14:22] Finished importing summary with 1 revisions
32[2015-04-30 23:14:22] Importing post
33[2015-04-30 23:14:22] Finished importing post with 1 revisions
34[2015-04-30 23:14:23] Importing new topic
35[2015-04-30 23:14:23] Finished importing topic title with 1 revisions
36[2015-04-30 23:14:23] Importing post
37[2015-04-30 23:14:23] Finished importing post with 1 revisions
38[2015-04-30 23:14:24] Flow\Import\LiquidThreadsApi\ApiBackend::retrieveThreadData: Did not find thread with conditions: {"thpage":"Talk:Ballet\/LQT Archive 1","thstartid":111}
39[2015-04-30 23:14:24] Imported 5 items, failed 0
40[2015-04-30 23:14:25] Completed import to Talk:Ballet from Talk:Ballet/LQT Archive 1

mysql:research@x1-analytics-slave [flowdb]> SELECT LOWER(HEX(rev_id)), rev_type, LOWER(HEX(rev_parent_id)), LOWER(HEX(rev_type_id)), rev_change_type FROM flow_revision WHERE LOWER(HEX(rev_id)) IN ('0534326fc7b81d41212148', '0534326fc72c1e93188bed') ORDER BY LOWER(HEX(rev_id)) DESC;
+------------------------+----------+---------------------------+-------------------------+-----------------+
| LOWER(HEX(rev_id))     | rev_type | LOWER(HEX(rev_parent_id)) | LOWER(HEX(rev_type_id)) | rev_change_type |
+------------------------+----------+---------------------------+-------------------------+-----------------+
| 0534326fc7b81d41212148 | header   | NULL                      | 0534326fcfd9c931f9e505  | create-header   |
| 0534326fc72c1e93188bed | header   | 0534326fc7b81d41212148    | 0534326fcfd9c931f9e505  | edit-header     |
+------------------------+----------+---------------------------+-------------------------+-----------------+
2 rows in set (0.18 sec)

It displays the wrong version of the header because there are two consecutive generated revisions with the same timestamp. The HistoricalUIDGenerator should work and have the correct ordering if the timestamps are different. However, if not it can be in the wrong ordering.

The initial header takes the timestamp from the move time (since that's the last revision of the archived page), and the scripted cleanup revision was taking wfTimestampNow. This caused a race condition where it often worked, but these could be the same time, as happened here.

Change 208065 had a related patch set uploaded (by Mattflaschen):
Set cleanup header revision after original to avoid collisions

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

Quiddity renamed this task from Import an LQT board to testwiki and convert to Flow there to Conversion tests for Flow->LQT at testwiki.May 8 2015, 5:46 PM
Quiddity renamed this task from Conversion tests for Flow->LQT at testwiki to Conversion tests for LQT->Flow at testwiki.
Quiddity updated the task description. (Show Details)

Notes - what's tested:

  • conversion of new & old
  • full functionality Flow pages after conversions
  • references(links) after conversions: references to LQT pages that later are converted; references to Flow pages etc
  • history of converted pages(also pageid - will be a new papgeid after conversion)