Changes to a list (subscribe, unsubscribe, etc.) can be lost.

Bug #862675 reported by Mark Sapiro on 2011-09-29
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GNU Mailman
Medium
Mark Sapiro

Bug Description

Under certain circumstances such as when bin/add_members is run multiple times in a script, VirginRunner in the process of sending notifications can fail to detect that the list object was updated by another process and can save the list object without having first loaded the latest version, thus losing changes.

Mark Sapiro (msapiro) wrote :

The committed fix will fix this bug for systems in which the mailman installation is all on a single server.

For installations with multiple servers accessing Mailman via a shared file system, there can still be manifestations of this bug if there is time skew across the servers.

A complete fix would add another Defaults.py/mm_cfg.py setting such as

# Maximum time skew in seconds between servers in a shared file system environment.
# Set to 0 if the Mailman file system is on a single server.
SERVER_MAX_TIME_SKEW = 0

and changing line 611 of Mailman/MailList.py from

            if mtime < self.__timestamp:

to

            if mtime + mm_cfg.SERVER_MAX_TIME_SKEW < self.__timestamp:

Changed in mailman:
status: New → Fix Committed
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers