mail handling stalls when a large message is received and not deliverable
Bug #788874 reported by
Robert Collins
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
Critical
|
Brad Crittenden |
Bug Description
Right now the following is happening:
We have a large email inbound (larger than our outbound limit).
The mail fails to deliver for some reason:
http://
And then we try to send a non-delivery report (NDR) but include so much of the original that our NDR cannot be sent:
http://
Processing of mail is stalled while this happens - we don't pop the bad mail.
Recommendation
==============
Size limit our NDR reports to fit under our outbound mail limit (10MB currently, there is probably a config setting for it)
Related branches
lp:~mbp/launchpad/788874-mail-oops
Rejected
for merging
into
lp:launchpad
- Launchpad code reviewers: Pending requested
-
Diff: 70 lines (+23/-7)3 files modifiedlib/canonical/launchpad/mail/errortemplates/oops.txt (+2/-0)
lib/canonical/launchpad/mailnotification.py (+3/-2)
lib/lp/services/mail/incoming.py (+18/-5)
lp:~bac/launchpad/bug-788874
- Gary Poster (community): Approve
-
Diff: 194 lines (+48/-14)4 files modifiedlib/canonical/config/schema-lazr.conf (+1/-1)
lib/canonical/launchpad/mailnotification.py (+12/-3)
lib/lp/bugs/tests/bugs-emailinterface.txt (+29/-7)
lib/lp/services/mail/incoming.py (+6/-3)
description: | updated |
Changed in launchpad: | |
assignee: | nobody → Brad Crittenden (bac) |
status: | Triaged → In Progress |
tags: |
added: qa-ok removed: qa-needstesting |
Changed in launchpad: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
Various issues here:
1- send_process_ error_notificat ion should probably truncate the bounced-back mail
2- arguably, incoming.py should be more aggressive about dropping problematic incoming mails. there is some kind of tradeoff about whether, if we fail to send an error, we would rather silently drop the mail, or stall processing. perhaps the best thing is to log the oops, delete the incoming mail, then send the bounce. But that may be overoptimizing for this particular failure.