Observed in a logstash:
- Branch: php-1.35.0-wmf.31 (testwiki)
- User impact: unknown
- Log messages:
[670f6482-b077-4e84-9801-1c96d03e57f5] /w/api.php?action=query&format=json&list=contenttranslation&sourcetitle=Lockdown&from=en&to=pt Error from line 165 of /srv/mediawiki/php-1.35.0-wmf.31/extensions/ContentTranslation/api/ApiQueryContentTranslation.php: Call to a member function getName() on null
/srv/mediawiki/php-1.35.0-wmf.31/extensions/ContentTranslation/api/ApiQueryContentTranslation.php(69): ApiQueryContentTranslation->find(ContentTranslation\TranslationWork, ContentTranslation\Translator)
#1 /srv/mediawiki/php-1.35.0-wmf.31/extensions/ContentTranslation/api/ApiQueryContentTranslation.php(25): ApiQueryContentTranslation->run()
#2 /srv/mediawiki/php-1.35.0-wmf.31/includes/api/ApiQuery.php(263): ApiQueryContentTranslation->execute()
#3 /srv/mediawiki/php-1.35.0-wmf.31/includes/api/ApiMain.php(1580): ApiQuery->execute()
#4 /srv/mediawiki/php-1.35.0-wmf.31/includes/api/ApiMain.php(523): ApiMain->executeAction()
#5 /srv/mediawiki/php-1.35.0-wmf.31/includes/api/ApiMain.php(494): ApiMain->executeActionWithErrorHandling()
#6 /srv/mediawiki/php-1.35.0-wmf.31/api.php(84): ApiMain->execute()
#7 /srv/mediawiki/w/api.php(3): require(string)
#8 {main}Summary: Fixed CX to handle the case when another user tried to translate an article which is being translated by an unknown user
QA plan
Affected project: test.wikipedia.org
Pre-deployment testing: skip
Post-deployment testing:
- Try to translate article Lockdown from en to pt on test.wikipedia.org
- Monitor Logstash for 7 days after deployment to confirm error is gone
Outcome
Content Translation gracefully handles an edge case when trying to translate a page which is already being translated by another, unknown user