Page MenuHomePhabricator

Improve MediaWiki logging of errors uploading files to Swift
Open, MediumPublic

Description

(tentatively assigning to Krinkle as he has better ideas about how to do this / who to route it to than I do)

When investigating Mediawiki errors of processing user uploads and re-uploading them to Swift, there's nothing in the logs to correlate between the Mediawiki event and anything one might find in the Swift logs:

https://logstash.wikimedia.org/goto/27bc8fe32d4441028fca86d41ae5f535

Simply including the filename-as-PUT'ed-to-Swift in the Mediawiki logs (e.g. wikipedia-commons-local-public.8c/8/8c/Vier_Friedenssteine_%2528K%25C3%25B6sen%2529.jpg) would be sufficient. (The filename that is presently included is a meaningless temporary local disk filename, e.g. /tmp/94aKa9.)

Details

Related Gerrit Patches:

Event Timeline

CDanis created this task.Aug 23 2019, 6:01 PM
Fano removed a subscriber: Fano.Aug 24 2019, 3:15 AM
Krinkle renamed this task from improve Mediawiki logging of errors uploading files to Swift to Improve MediaWiki logging of errors uploading files to Swift.Aug 24 2019, 8:16 PM
Krinkle triaged this task as Medium priority.
Krinkle added a project: Performance-Team.
kchapman moved this task from Inbox to Doing on the Performance-Team board.Aug 26 2019, 8:16 PM

Change 539216 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] filebackend: Convert trigger_error to PSR log warning

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

Change 539216 merged by jenkins-bot:
[mediawiki/core@master] filebackend: Convert trigger_error to PSR log warning

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

Krinkle removed Krinkle as the assignee of this task.Oct 1 2019, 4:56 PM
Krinkle moved this task from Blocked or Needs-CR to Inbox on the Performance-Team board.

Main thing is still undone - to log the actual file name that the user was interacting with (e.g. File page name on Commons).

From CR:

	$this->logger->error( "Header '{header}' is too long.", [
						'filebackend' => $this->name,
						'header' => "$na
Aaron wrote:

I suppose $op['src'] and $op['dst'] would have any relevant paths