Ошибка импорта дампа Википедии в MediaWiki - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь импортировать дамп Википедии ( enwiki-20200420-pages-статьи-многопоточный. xml .bz2 - 17,0 ГБ) в MediaWiki экземпляр (v.1.34, установленный через Docker). База данных MariaDB с кодировкой UTF8 .

Я использую MediaWiki importDump. php скрипт:

php importDump.php --no-updates <./dump/enwiki-20200420-pages-articles-multistream.xml

Сценарий начинает импорт, но после приблизительно 161000 страниц возвращает эту ошибку:

CannotCreateActorException из строки 2323 из / var / www/html/includes/user/User.php: невозможно создать актера для используемое имя, которое не является существующим пользователем: user_id = 0 user_name = "Ⲥ? Ⲣ ??"

Дополнительные сведения приведены ниже

CannotCreateActorException from line 2323 of /var/www/html/includes/user/User.php: Cannot create an actor for a usable name that is not an existing user: user_id=0 user_name="Ⲥ?ⲣ??"
#0 /var/www/html/includes/ActorMigration.php(303): User->getActorId(Object(Wikimedia\Rdbms\DatabaseMysqli))
#1 /var/www/html/includes/Revision/RevisionStore.php(753): ActorMigration->getInsertValuesWithTempTable(Object(Wikimedia\Rdbms\DatabaseMysqli), 'rev_user', Object(User))
#2 /var/www/html/includes/Revision/RevisionStore.php(552): MediaWiki\Revision\RevisionStore->insertRevisionRowOn(Object(Wikimedia\Rdbms\DatabaseMysqli), Object(MediaWiki\Revision\MutableRevisionRecord), Object(Title), 0)
#3 /var/www/html/includes/Revision/RevisionStore.php(490): MediaWiki\Revision\RevisionStore->insertRevisionInternal(Object(MediaWiki\Revision\MutableRevisionRecord), Object(Wikimedia\Rdbms\DatabaseMysqli), Object(User), Object(CommentStoreComment), Object(Title), 160404, 0)
#4 /var/www/html/includes/libs/rdbms/database/Database.php(3966): MediaWiki\Revision\RevisionStore->MediaWiki\Revision\{closure}(Object(Wikimedia\Rdbms\DatabaseMysqli), 'MediaWiki\\Revis...')
#5 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(68): Wikimedia\Rdbms\Database->doAtomicSection('MediaWiki\\Revis...', Object(Closure))
#6 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(635): Wikimedia\Rdbms\DBConnRef->__call('doAtomicSection', Array)
#7 /var/www/html/includes/Revision/RevisionStore.php(498): Wikimedia\Rdbms\DBConnRef->doAtomicSection('MediaWiki\\Revis...', Object(Closure))
#8 /var/www/html/includes/Revision.php(968): MediaWiki\Revision\RevisionStore->insertRevisionOn(Object(MediaWiki\Revision\MutableRevisionRecord), Object(Wikimedia\Rdbms\DBConnRef))
#9 /var/www/html/includes/import/ImportableOldRevisionImporter.php(129): Revision->insertOn(Object(Wikimedia\Rdbms\DBConnRef))
#10 /var/www/html/includes/import/WikiRevision.php(616): ImportableOldRevisionImporter->import(Object(WikiRevision))
#11 /var/www/html/includes/import/WikiImporter.php(366): WikiRevision->importOldRevision()
#12 /var/www/html/maintenance/importDump.php(209): WikiImporter->importRevision(Object(WikiRevision))
#13 /var/www/html/includes/import/WikiImporter.php(501): BackupReader->handleRevision(Object(WikiRevision), Object(WikiImporter))
#14 /var/www/html/includes/import/WikiImporter.php(941): WikiImporter->revisionCallback(Object(WikiRevision))
#15 /var/www/html/includes/import/WikiImporter.php(860): WikiImporter->processRevision(Array, Array)
#16 /var/www/html/includes/import/WikiImporter.php(802): WikiImporter->handleRevision(Array)
#17 /var/www/html/includes/import/WikiImporter.php(606): WikiImporter->handlePage()
#18 /var/www/html/maintenance/importDump.php(359): WikiImporter->doImport()
#19 /var/www/html/maintenance/importDump.php(301): BackupReader->importFromHandle(Resource id #156)
#20 /var/www/html/maintenance/importDump.php(129): BackupReader->importFromStdin()
#21 /var/www/html/maintenance/doMaintenance.php(99): BackupReader->execute()
#22 /var/www/html/maintenance/importDump.php(364): require_once('/var/www/html/m...')
#23 {main}
[0f834acb1d48fb7d10f6a77c] [no req]   Wikimedia\Rdbms\DBTransactionError from line 1680 of /var/www/html/includes/libs/rdbms/loadbalancer/LoadBalancer.php: BackupReader: Commit failed on server(s) database: Cannot execute query from BackupReader while transaction status is ERROR
Backtrace:
#0 /var/www/html/includes/libs/rdbms/lbfactory/LBFactory.php(208): Wikimedia\Rdbms\LoadBalancer->commitMasterChanges(string, integer)
#1 /var/www/html/includes/libs/rdbms/lbfactory/LBFactorySimple.php(134): Wikimedia\Rdbms\LBFactory->Wikimedia\Rdbms\{closure}(Wikimedia\Rdbms\LoadBalancer, string, array)
#2 /var/www/html/includes/libs/rdbms/lbfactory/LBFactory.php(210): Wikimedia\Rdbms\LBFactorySimple->forEachLB(Closure, array)
#3 /var/www/html/includes/libs/rdbms/lbfactory/LBFactory.php(273): Wikimedia\Rdbms\LBFactory->forEachLBCallMethod(string, array)
#4 /var/www/html/maintenance/doMaintenance.php(127): Wikimedia\Rdbms\LBFactory->commitMasterChanges(string)
#5 /var/www/html/maintenance/importDump.php(364): require_once(string)
#6 {main}
...