Page MenuHomePhabricator

Saving a translation fails if TTMServer index is missing
Closed, ResolvedPublic


[Thu Apr  7 18:01:34 2016] [hphp] [761:7fc778bff700:182:000001] [] \nFatal error: Uncaught exception 'Elastica\\Exception\\ResponseException' with message 'IndexMissingException[[devo-ttmserver] miss
ing]' in /www/\nStack trace: [SNIP]
2016-04-07 16:01:34 dev_translatewiki_net-bw_: [985bd56dfbee95a45dbf4855] /w/api.php   Elastica\Exception\ResponseException from line 147 of /www/
dor/ruflin/elastica/lib/Elastica/Transport/Http.php: IndexMissingException[[devo-ttmserver] missing]
#0 /www/ Elastica\Transport\Http->exec(Elastica\Request, array)
#1 /www/ Elastica\Request->send()
#2 /www/ Elastica\Client->request(string, string, array, array)
#3 /www/ Elastica\Index->request(string, string, array, array)
#4 /www/ Elastica\Type->request(string, string, array, array)
#5 /www/ Elastica\Type->deleteByQuery(Elastica\Query)
#6 /www/ ElasticSearchTTMServer->update(MessageHandle, string)
#7 /www/ TTMServer::onChange(MessageHandle, string, boolean)
#8 /www/ TranslateEditAddons::onSave(WikiPage, User, WikitextContent, string, integer, NULL, NULL, integer, Revision, Status, boolean)
#9 /www/ Hooks::run(string, array)
#10 /www/ Closure$WikiPage::doCreate()
#11 /www/ DatabaseBase->runOnTransactionIdleCallbacks()
#12 /www/ DatabaseBase->commit(string, string)
#13 /www/ LoadBalancer->commitMasterChanges(string)
#14 /www/ Closure$LBFactory::forEachLBCallMethod(LoadBalancer, string, array)
#15 /www/ LBFactorySimple->forEachLB(Closure$LBFactory::forEachLBCallMethod;1971636081, array)
#16 /www/ LBFactory->forEachLBCallMethod(string, array)
#17 /www/ LBFactory->commitMasterChanges(string, array)
#18 /www/ MediaWiki::preOutputCommit(DerivativeContext)
#19 /www/ ApiMain->executeActionWithErrorHandling()
#20 /www/ ApiMain->execute()
#21 {main}

Event Timeline

Best action here seems to postpone the TTMServer update to a job.

The existing job can be used if it is altered to take a parameter for language.

Change 282651 had a related patch set uploaded (by Nikerabbit):
Move all TTMServer updates to the JobQueue

Nikerabbit lowered the priority of this task from Unbreak Now! to High.Apr 15 2016, 7:32 AM

This might not be needed if Translate keeps using eqiad during the switchover (see parent ticket).

Change 282651 merged by jenkins-bot:
Move all TTMServer updates to the JobQueue