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> &lt;<a href="mailto:tim.peters@gmail.com">tim.peters@gmail.com
</a>&gt; 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>&gt; Setup:<br>&gt; python 2.3.5<br>&gt; 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>&gt; 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>&gt; 2006-10-18T14:51:57 WARNING Z2 Can not install signal handlers.&nbsp;&nbsp;Please<br>&gt; install (or upgrade) your pywin32 installation (<a href="https://sf.net/projects/pywin32">https://sf.net/projects/pywin32
</a>)<br><br><br>&gt; When I create 1 zope instance and 1 zeo instance, start the zeo and then<br>&gt; start the zope instance I see this in my logs.&nbsp;&nbsp;Note this is the first start<br>&gt; of the fresh installs.&nbsp;&nbsp;Does anyone have any suggestions as to the cause?
<br><br>Yes:&nbsp;&nbsp;this is expected, under all versions of Zope, and is normal,<br>with or without ZEO.&nbsp;&nbsp;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 &quot;root object&quot;.&nbsp;&nbsp;But when the<br>database is initially empty, there /is/ no root object, and that's the<br>source of:<br><br>&gt; 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>&gt; raised exception: 0x00<br>&gt; Traceback (most recent call last):<br>&gt; ...<br>&gt; &quot;C:\Zope\Zope-2.8.4-final\lib\python\ZODB\FileStorage\FileStorage.py
&quot;, line 514, in _lookup_pos<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; raise POSKeyError(oid)<br>&gt; POSKeyError: 0x00<br><br>The object with oid 0 (0x00 above) is the root object, but it doesn't<br>initially exist.&nbsp;&nbsp;The client catches this POSKeyError, and /creates/
<br>the root object as a result.&nbsp;&nbsp;On the client side, you're in this part<br>of DB.__init__() at the time:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;storage.load(z64,'')<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;except KeyError:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 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.&nbsp;&nbsp;It would be nicer if the log message<br>were suppressed, but that occurs at a lower level:&nbsp;&nbsp;by the time the
<br>KeyError is caught here, the log message has already been generated.<br></blockquote></div><br>