Comment 3 for bug 266317

Revision history for this message
James Ralston (ralston) wrote :

We're affected by this issue as well.

Let's be clear what's happening here: ToDigest.send_i18n_digests() needs to scrub attachments from the RFC1153 version of the digest. To do that, it calls Handlers.Scrubber.process(), which saves the scrubbed attachments to disk (in the list's archive directory)—regardless of whether the list is configured to archive.

Thus, I must respectfully disagree that this behavior is "expected". The fact that ToDigest.send_i18n_digests() silently fills up the list's archive directory with scrubbed attachments (as a side-effect of producing the RFC1153 version of each digest) may be "expected" behavior from the point of view of the Mailman developers, but it is NOT expected behavior from the point of view of Mailman administrators. Side-effects are bugs, regardless of whether they are unintended, unwanted, or undocumented—and this bug hits at least 2 out of 3.

Another way to look at this issue is that Mailman is dropping temporary files that are never referenced again and never removed. If any other program did that, the behavior would be properly described as a bug.

Even worse, there is no way to stop this behavior. We've configured our lists not to archive, but we cannot configure our lists not to permit digests, as we have subscribers who prefer digest mode. As the code stands right now, If I want to stop Mailman from continually trying to fill up my /var filesystem, I'm going to have to write a cron job to go clean up after Mailman. But that will be very challenging to do correctly for lists that were configured to archive at any point in the past.

We've been pleased with Mailman, and we're grateful to all of the developers who work on it. But come on, guys... this behavior is a bug. Handlers.Scrubber.process() shouldn't leave temporary scrubbed attachments on disk when it is called by ToDigest.send_i18n_digests(). Please fix this.