Last modified: 2012-02-28 21:41:14 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T28647, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 26647 - MW holds DB transaction open across mail()
MW holds DB transaction open across mail()
Status: REOPENED
Product: MediaWiki
Classification: Unclassified
Email (Other open bugs)
1.18.x
All All
: Normal major (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-01-10 02:39 UTC by River Tarnell
Modified: 2012-02-28 21:41 UTC (History)
6 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description River Tarnell 2011-01-10 02:39:42 UTC
Using r78054.

In some circumstances (sorry, I don't have a stack trace) MediaWiki holds a database transaction on 'page' open across mail().  If mail() hangs, this blocks all page views (and edits) because the page counter update query can't run.
Comment 1 Mark A. Hershberger 2011-01-18 23:12:46 UTC
When you say "some circumstance" is there any way a developer could easily reproduce this?
Comment 2 Mark A. Hershberger 2011-01-18 23:16:57 UTC
I'm not sure this is a blocker yet, but marking it a blocker anyway.
Comment 3 Mark A. Hershberger 2011-01-20 18:23:03 UTC
Removing blocker status until I hear otherwise.
Comment 4 Chad H. 2011-01-20 18:29:05 UTC
Adding myself to CC.

Was thinking aloud on IRC. First guess is a wiki using enotif that doesn't make use of the jobqueue.

River: can you give us any further info on this? Do you (somewhat) remember what you were doing to trigger it?
Comment 5 Brion Vibber 2011-01-20 18:32:11 UTC
mail() should usually be fast: this shells out to sendmail (or equiv) which ships the message into an outgoing queue managed by the mail server. It could be slow on Windows (where mail() actually calls out to an SMTP server directly), or if the local MTA sendmail binary does odd or slow things.

A better mail queuing thingy might be nice, but I'm pretty sure we've done this for the last 8 years plus or minus, so probably not a blocker.
Comment 6 River Tarnell 2011-01-21 20:45:53 UTC
As far as I can tell, the problem will appear any time MW sends mail from an edit.  So, watch a page, enable email notification and make an edit.  In our case mail() hung due to a Postfix configuration error, but you could probably replace /usr/lib/sendmail with a wrapper script to get the same effect.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links