Thanks for your answers Tim!<br><br>That was very helpful.<br><br>-Jimmy<br><br><div><span class="gmail_quote">On 10/20/06, <b class="gmail_sendername">Tim Peters</b> <<a href="mailto:tim.peters@gmail.com">tim.peters@gmail.com
</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">[Jimmy small]<br>> Setup:<br>> python 2.3.5<br>> Zope 2.8.4-final
<br><br>It's good to know this, but in this specific case none of the above<br>actually matters.<br><br>> appropriate python extensions for windows<br><br>One of the log messages suggests your ZEO server box should install a
<br>more-recent pywin32:<br><br>> 2006-10-18T14:51:57 WARNING Z2 Can not install signal handlers. Please<br>> install (or upgrade) your pywin32 installation (<a href="https://sf.net/projects/pywin32">https://sf.net/projects/pywin32
</a>)<br><br><br>> When I create 1 zope instance and 1 zeo instance, start the zeo and then<br>> start the zope instance I see this in my logs. Note this is the first start<br>> of the fresh installs. Does anyone have any suggestions as to the cause?
<br><br>Yes: this is expected, under all versions of Zope, and is normal,<br>with or without ZEO. Whenever a DB object is created (and at least<br>one always must be) to mediate access to your database (Data.fs), the<br>
first thing it does is load the database "root object". But when the<br>database is initially empty, there /is/ no root object, and that's the<br>source of:<br><br>> 2006-10-18T14:52:44 INFO ZEO.zrpc.Connection
(S) (<a href="http://127.0.0.1:1289">127.0.0.1:1289</a>) loadEx()<br>> raised exception: 0x00<br>> Traceback (most recent call last):<br>> ...<br>> "C:\Zope\Zope-2.8.4-final\lib\python\ZODB\FileStorage\FileStorage.py
", line 514, in _lookup_pos<br>> raise POSKeyError(oid)<br>> POSKeyError: 0x00<br><br>The object with oid 0 (0x00 above) is the root object, but it doesn't<br>initially exist. The client catches this POSKeyError, and /creates/
<br>the root object as a result. On the client side, you're in this part<br>of DB.__init__() at the time:<br><br> try:<br> storage.load(z64,'')<br> except KeyError:<br> # Create the database's root in the storage if it doesn't exist
<br><br>So every time you have an empty database, the first time you access it<br>you should expect one of these. It would be nicer if the log message<br>were suppressed, but that occurs at a lower level: by the time the
<br>KeyError is caught here, the log message has already been generated.<br></blockquote></div><br>