[Mailman-Users] Sanity-checking individual lists for health?

Mark Sapiro msapiro at value.net
Wed Jul 25 04:46:55 CEST 2007

Chris Waltham wrote:
>I have been tasked with moving a Mailman 2.0.12 installation from a  
>Solaris (SPARC) server to a Linux (x86) server. The Linux server will  
>be receiving a copy of Mailman 2.1.9, so obviously I am making the  
>2.0.x -> 2.1.x jump in there. Also, on Solaris, Mailman lives in / 
>home/mailman but on Linux I will be putting it in /blender/mailman  
>(and thus using move_list to update archives, fix_url, etc.)
>What makes this migration slightly tricky is that the server hosts  
>around 840 lists. Therefore, going through each list pre- and post- 
>migration by hand would be a little time-consuming for me, so I want  
>to avoid that where possible :-)I noticed that, when doing a "make  
>update" when installing 2.1.9, a couple of lists from 2.0.12 failed  
>the update process and I had to Control-C them for the process to  
>continue. I'm not sure what the exact problem was, hence I'm  
>wondering if there is any kind of check that I can run in a FOR loop  
>to verify a list's integrity. And, yes, I've run check_db and  
>check_perms and neither report problems, this just seems to be a  
>handful of lists out of the 800-odd that seem a little flaky.

There is little you can do to verify the integrity of a list other than
trying to instantiate it which will also update it if necessary (and
possible). check_perms only checks permissions (and it has a bug
regarding archives/private). check_db only checks that list data can
be loaded from lists/<listname>/config.* files. It doesn't sanity
check the result.

Do you know which lists failed in bin/update (run by make update)? If
so do these lists have lists/<listname>/config.pck files which are
converted from the config.db files and indicate the conversion of the
list data was probably successful. In any case, are there any lists
that don't have lists/<listname>/config.pck files? These would be the
problem lists. 

One way to do a better sanity check or problem detection on these (or
even on all) lists is

  bin/config_list -i /dev/null listname

This will attempt to instantiate the list and if it's a 2.0.12 list
convert the data in config.db and save as config.pck.

One bit of advice. Once the lists are all converted, remove the
config.db and config.db.last files from the lists/<listname>/
directories. If you don't do this, it is possible that at some future
time, the config.pck and config.pck.last files could become corrupt
and cause Mailman to fall back to the then ancient config.db.

Mark Sapiro <msapiro at value.net>       The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

More information about the Mailman-Users mailing list