[Zope] Dangerous "cvs update"

Chris McDonough chrism@digicool.com
Thu, 12 Apr 2001 17:50:28 -0400


This is a multi-part message in MIME format.

------=_NextPart_000_069D_01C0C379.0F9F9670
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Here's a way to find out... as long as you're running FileStorage, you can
run this script against your Data.fs via "list_transactions.py
/your/path/Data.fs" (even if the Data.fs is open).  Then you can compare the
output of the script against the stupid log file to see if there were any
writes to the ZODB at the time of the conflict.  Other folks have complained
about this and we're trying to isolate the problem... if you have time, it'd
be great to hear you report back "yes, there was a write, and here was its
method name", or "no, there was no write at that time, somethings messed
up".

- C


----- Original Message -----
From: "Dieter Maurer" <dieter@handshake.de>
To: <zope@zope.org>
Sent: Thursday, April 12, 2001 5:01 PM
Subject: [Zope] Dangerous "cvs update"


> My yesterday "cvs update" let my Zope fail to start: Panic - startup
> exception; type error in "ZServer/HTTPServer".
>
> I analysed the problem:
>
>   Apparently "asyncore.py" has been moved.
>   "cvs update" had correctly remove the Python source
>   but (of course) left alone the corresponding "*.pyc" file.
>
>   Somehow, this old "*.pyc" file caused the problem.
>   After manual removal, my Zope works again.
>
> Dieter
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://lists.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists -
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope-dev )
>

------=_NextPart_000_069D_01C0C379.0F9F9670
Content-Type: text/plain;
	name="list_transactions.py"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="list_transactions.py"


import ZODB
from ZODB import FileStorage
from ZODB.TimeStamp import TimeStamp
import sys
from DateTime import DateTime

iterator = FileStorage.FileIterator(sys.argv[1])
while 1:
    r = iterator.next()
    t = TimeStamp(r.tid).timeTime()
    d = DateTime(t, 'GMT')
    sys.stdout.write('Time: %s User: %s Desc: %s Status: %s\n' %
                     (d, r.user, r.description, r.status))

------=_NextPart_000_069D_01C0C379.0F9F9670--