I inherited a mult-server install of Mailman.
During a recent upgrade of the servers, I'm realizing the master-qrunner.pid file is in the 'data' directory which is shared between the two servers. I have the lock file set to use the hostname in the name of the lock file.
Shouldn't the PID file be in a local directory?
the old servers had a cron entry to re-start mailman every night. I'm wondering if there was flakiness with a shared PID file going on that was 'fixed' by rebooting mailman nightly.
Roger
Hi Roger,
First let me apologize on behalf of the project for the delay in distribution of your post. It appears a few posts got trapped in limbo for about 10 days, and the delay was definitely between Mailman's MTA and mine.
Roger writes:
I inherited a mult-server install of Mailman.
During a recent upgrade of the servers, I'm realizing the master-qrunner.pid file is in the 'data' directory which is shared between the two servers.
What version is Mailman? I believe that recent versions put the PID file in the 'lock' directory.
On my Debian installation, that directory is /var/lib/mailman/lock, which is actually a symlink to /var/lock/mailman. I suspect this setup is intended to resolve exactly this kind of issue.
I have the lock file set to use the hostname in the name of the lock file.
Shouldn't the PID file be in a local directory?
Yes. You don't want the operation of local processes to be subject to network issues.
the old servers had a cron entry to re-start mailman every night. I'm wondering if there was flakiness with a shared PID file going on that was 'fixed' by rebooting mailman nightly.
If the name of the host is in the name of the lock file, this should not cause "flakiness" problems because a conflict between the systems. However, in my Debian install, I have both master-qrunner and master-qrunner.<host>.<pid>, hardlinked to the same file which contains the full pathname (in /var/lib/mailman/lock).
I think it's more likely that either the whole system including the network was flaky, or that Mailman isn't designed to be robust in a multi-host configuration. It's generally designed to be robust against various failures, so it's probably OK, but "multihost operation with shared filesystem" was not an explicit design criterion.
Steve
On 08/28/2018 12:59 AM, Stephen J. Turnbull wrote:
Hi Roger,
First let me apologize on behalf of the project for the delay in distribution of your post. It appears a few posts got trapped in limbo for about 10 days, and the delay was definitely between Mailman's MTA and mine.
If you look at the X-Mailman-Approved-At: header, you'll see the delay was in moderation and that in turn was because I was off line for 11+ days and no one else was looking.
Roger writes:
I inherited a mult-server install of Mailman.
During a recent upgrade of the servers, I'm realizing the master-qrunner.pid file is in the 'data' directory which is shared between the two servers.
What version is Mailman? I believe that recent versions put the PID file in the 'lock' directory.
There is a master_qrunner lock file in the locks directory but data/master-qrunner.pid contains the PID of the running Mailman.
-- Mark Sapiro mark@msapiro.net The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark Sapiro writes:
What version is Mailman? I believe that recent versions put the PID file in the 'lock' directory.
There is a master_qrunner lock file in the locks directory but data/master-qrunner.pid contains the PID of the running Mailman.
OK, so this is a Debian patch, I guess -- Debian has two files for master_qrunner in locks/, and a mailman.pid file in /var/run/.
I think this is a good idea, although "vanilla" mailman probably needs to put everything under /var/lib/mailman.
Perhaps (at least for Mailman 3) we should make the PID directory an option (if it isn't already).
participants (3)
-
Mark Sapiro
-
Roger
-
Stephen J. Turnbull