[Mailman-Developers] Re: Reconstructing config.pck

Les Niles les@2pi.org
Fri, 9 Aug 2002 13:52:59 -0700

Good news -- the list is back up, nearly intact.  Thanks for the
suggestions, Barry and Donn.  I hacked pickle.py to return its
whole parse stack when it encountered an error, instead of just
giving up.  The first, good half of the config.pck turned out to
have the members[] array and several other arrays including
user_options[] and delivery_status[].  The main things that were
lost were the digest_members[] and passwords[].  I approximated
digest_members[] as the set of all email addresses in the other
arrays that weren't in members[], which resulted in about the right
number of total subscribers, and more importantly it included my
own subscription. :) As for passwords, we have another related list
that has about 70% overlap in readership, so I took passwords from
that list whenever possible, and gave everyone else new random
passwords.  I also used the data from that other list to fill in
the case-sensitive addresses for digest_members[]; I'm
assuming/hoping that that's not really important, for the sake of
those that aren't on the other list.  

Thanks again for the suggestions.  And I've got to say, it was a
heck of a lot easier doing this in python than it would've been in
some traditional compiled language.


On 8 Aug 2002 10:32:06 -0700 Les Niles <les@2pi.org> wrote:
>We had a little disk glitch that trashed config.pck and
>config.pck.save for one of our lists [I don't want to even *hear*
>the word "backup"!]  Roughly the last half of each file is nothing
>but null bytes.  These obviously don't unpickle very well....  Does
>anyone have any experience or advice to offer about recovering some
>of the information?  At a minimum I'd like to recover the
>subscriber list, and hopefully the digest/no-digest settings.
>I see lots of subscribers in the file; presumably there are some
>objects that are intact but the stock pickle.load() just gives up
>if it can't load everything.  Any suggestions would be greatly
>  -les