[Mailman-Developers] Re: [Mailman-Announce] Announcing Mailman 2.0 release candidate 2
Barry A. Warsaw
barry@digicool.com
Mon, 13 Nov 2000 23:51:00 -0500 (EST)
>>>>> "GC" == Greg Connor <gconnor@nekodojo.org> writes:
GC> Thanks for the heads-up, and thanks for a great product.
You're welcome!
GC> I installed 2.0rc2, and I had a problem with lists that had
GC> administrative requests pending. I had to remove all the
GC> pending requests before "update" would run successfully. I
GC> know it's probably a bit late to fix, but I wanted to let you
GC> know... I posted to mailman-users with details and a log of
GC> my install.
Yup. There's a buglet in CheckVersion() when there are pending
requests. Some older versions used a different requests database
format, and Mailman's auto-update feature tries to repopulate using
the new database format. This can only happen when the list is
locked, but the new update script doesn't lock the list right away (to
avoid hangs while updating).
Here's a patch to fix the problem.
-Barry
-------------------- snip snip --------------------
Index: MailList.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/MailList.py,v
retrieving revision 1.187
retrieving revision 1.188
diff -u -r1.187 -r1.188
--- MailList.py 2000/11/10 17:56:55 1.187
+++ MailList.py 2000/11/14 04:44:01 1.188
@@ -913,9 +913,10 @@
else:
self.InitVars() # Init any new variables,
self.Load(check_version = 0) # then reload the file
- from versions import Update
- Update(self, stored_state)
- self.data_version = mm_cfg.DATA_FILE_VERSION
+ if self.Locked():
+ from versions import Update
+ Update(self, stored_state)
+ self.data_version = mm_cfg.DATA_FILE_VERSION
if self.Locked():
self.Save()