Re: [Zope] zeo clients not synchronized, modifications not shown
Hi Christopher, Great pointers, thank you very much for your response! I use pound for load balancing (from the beginning - nothing changed here). I will investigate using your indications. Thanks again, Dragos On Thu, Nov 5, 2015 at 2:03 PM, Christopher Lozinski < lozin...@freerecruiting.com> wrote: > > > On 11/5/15 12:29 PM, Dragos Chirila wrote: > > My impression is that the save itself is handled by lets say client1 > > and then the redirect and render of the edit page by a different one - > > client2. > I don't know what is going on, but let me ask a few obvious questions. > How do you assign web requests to zeo clients. If the redirect is > handled by a different zeo client, then maybe it has not gotten the > cache invalidation. Maybe in your web page display, you can display the > process id, to verify if indeed it is a different zeo client which is > the source of the problem. At that point, put some logging into the > cache invalidations to see if they are happening > correctly, and before the new page is redisplayed. Of do something on > your load balancer to make sure that each ip is served by the same zeo > client. > > And why did the problem suddenly start happening? Wierd. > > Hope that helps. > -- Dragos Chirila objectval...@gmail.com (+4) 0722 395375 ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] zeo clients not synchronized, modifications not shown
On 11/5/15 12:29 PM, Dragos Chirila wrote: > My impression is that the save itself is handled by lets say client1 > and then the redirect and render of the edit page by a different one - > client2. I don't know what is going on, but let me ask a few obvious questions. How do you assign web requests to zeo clients. If the redirect is handled by a different zeo client, then maybe it has not gotten the cache invalidation. Maybe in your web page display, you can display the process id, to verify if indeed it is a different zeo client which is the source of the problem. At that point, put some logging into the cache invalidations to see if they are happening correctly, and before the new page is redisplayed. Of do something on your load balancer to make sure that each ip is served by the same zeo client. And why did the problem suddenly start happening? Wierd. Hope that helps. ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO manageUndo not working - DisconnectedError
Hi Sebastian, Am 06.05.2015 um 15:26 schrieb Sebastian Tänzer: > After further testing I was able to sort this one out by downgrading ZopeUndo to 2.12.0 (pip install ZopeUndo==2.12.0 --force —upgrade). > PyPi only said 4.0 brought Py3 compability. Should I expect any problems using ZopeUndo 2.12 + ZEO/ZODB4/ZODB3 with their latest versions? > Undo has long been a standard functionality in Zope2 but proven to be quite dangerous as it is possible to totally mess up your object tree. IIRC undo has therefore been removed even from the ZODB - that is what you are experiencing with the current version. What seems to work quite well is to enable history support where you have access to every old transaction and can compare or copy them to be on top of the stack - which avoids the problem with disappearing transactions as Undo has. Unfortunately out of the box only a few Products have history support enabled. Some monkey patching can enable it for many of the other Products of stock Zope2. ObjectManager/Folder is a bit limited since accessing a whole historic version of a subtree can't be done easily. However, if you are interested and want to try: http://old.zope.org/Members/tino/PatchHistory/view (very old, but seems to work with the 2.12 at least) Best, Tino Best, Sebastian ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO manageUndo not working - DisconnectedError
After further testing I was able to sort this one out by downgrading ZopeUndo to 2.12.0 (pip install ZopeUndo==2.12.0 --force —upgrade). PyPi only said 4.0 brought Py3 compability. Should I expect any problems using ZopeUndo 2.12 + ZEO/ZODB4/ZODB3 with their latest versions? Best, Sebastian > Am 06.05.2015 um 07:42 schrieb Niels Dettenbach (Syndicat IT & Internet) > : > > Am 6. Mai 2015 01:24:50 MESZ, schrieb "Sebastian Tänzer" : >> 2015-05-06 01:16:46 WARNING ZEO.zrpc (19205) CW: error connecting to >> ('::1', ): ECONNREFUSED >> 2015-05-06 01:16:46 INFO ZEO.ClientStorage zeostorage Testing >> connection >> 2015-05-06 01:16:46 INFO ZEO.zrpc.Connection('C') (127.0.0.1:) > hmm, > > just a small shot in the dark: Even if this "should" work too - why the > client tries to connect the IPv4 address of loopback and the error gives the > IPv6 of it back? > > I would try to eleminate this if possible and bring Zope down to IPv4 > completely, because there are still many software libraries and applications > around (even some underlying os parts) which are not well tested with IPv6. > > If this solves your prob - no idea... > > > hth a bit. > cheerioh, > > > Niels. > -- > Niels Dettenbach > Syndicat IT & Internet > http://www.syndicat.com ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO manageUndo not working - DisconnectedError
After more „research“ I see that the ZMS3 pip packages uses completely different versions that don’t seem to be compatible with ZEO (at least Undo is not working). I’m aware „undo“ is not a really used feature at all as revisions most of the time are beeing implemented by products. My only fear is that we’re running into other problems with the ZODB if the base setup is using wrong versions and I’d like to avoid that. Examples: zope2 via pip uses Aquisition 2.13.8 zope2 via ZMS3 installed via pip uses Aquisition 4.1 zope2 via pip uses ZopeUndo 2.12.0 zope2 via ZMS3 installed via pip uses ZopeUndo 4.0 Most packages with ZMS3 install are newer versions. So, basic question: What is the recommended way to setup Zope2 with ZEO. Which versions work? It seems almost impossible to understand what versions should be used. The Zope2 egg uses way older versions. Any problems with that? Which packages are safe to update? Also, there were some patches by the ZMS people last year (https://github.com/zopefoundation/Zope/pull/13) - but Zope2 installed via pip works just fine here. Using newer package versions require the patches though. What is the „best“ setup if I’m using ZEO to connect with Zope2 ZEO clients AND from other remote setups (non Zope-Clients, Python command line code working with the ZODB via ClientStorage). Maybe Tres could give me some insight on this? Best, Sebastian > Am 06.05.2015 um 07:42 schrieb Niels Dettenbach (Syndicat IT & Internet) > : > > Am 6. Mai 2015 01:24:50 MESZ, schrieb "Sebastian Tänzer" : >> 2015-05-06 01:16:46 WARNING ZEO.zrpc (19205) CW: error connecting to >> ('::1', ): ECONNREFUSED >> 2015-05-06 01:16:46 INFO ZEO.ClientStorage zeostorage Testing >> connection >> 2015-05-06 01:16:46 INFO ZEO.zrpc.Connection('C') (127.0.0.1:) > hmm, > > just a small shot in the dark: Even if this "should" work too - why the > client tries to connect the IPv4 address of loopback and the error gives the > IPv6 of it back? > > I would try to eleminate this if possible and bring Zope down to IPv4 > completely, because there are still many software libraries and applications > around (even some underlying os parts) which are not well tested with IPv6. > > If this solves your prob - no idea... > > > hth a bit. > cheerioh, > > > Niels. > -- > Niels Dettenbach > Syndicat IT & Internet > http://www.syndicat.com ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO manageUndo not working - DisconnectedError
Good morning all, after further testing we noticed our Zope2 virtualenv setup was done with the ZMS3 (CMS) install routine using pip install ZMS3 --process-dependency-links. This installed different package versions. The original pip Zope2 uses these versions: http://pastebin.com/ZEwhVba0 The ZMS3 people use these versions: http://pastebin.com/iu43Ss5w For example, the ZMS3 setup uses: • ZopeUndo==4.0 • ZODB==4.1.0 • ZODB3==3.11.0 as the original Zope2 uses: • ZODB3==3.10.5 No ZEO, no ZODB packages. Why is Zope2 using the old 3.10 ZODB version and why is there no ZODB4 installed? ZEO server and clients still work fine without these packages. The thing is, I notice a lot worse performance with the ZODB, especially with traversal, using the native Zope2 setup routine. Catalog search takes almost 2-3 seconds compared to the ZMS3 versions with a local non-ZEO-Zope instance. With the ZMS3 versions ZODB usage is a LOT faster, but there are problems with Undo for example in combination with ZEO. Any ideas on this? I don’t get this version jungle... Best Sebastian > Am 06.05.2015 um 07:42 schrieb Niels Dettenbach (Syndicat IT & Internet) > : > > Am 6. Mai 2015 01:24:50 MESZ, schrieb "Sebastian Tänzer" : >> 2015-05-06 01:16:46 WARNING ZEO.zrpc (19205) CW: error connecting to >> ('::1', ): ECONNREFUSED >> 2015-05-06 01:16:46 INFO ZEO.ClientStorage zeostorage Testing >> connection >> 2015-05-06 01:16:46 INFO ZEO.zrpc.Connection('C') (127.0.0.1:) > hmm, > > just a small shot in the dark: Even if this "should" work too - why the > client tries to connect the IPv4 address of loopback and the error gives the > IPv6 of it back? > > I would try to eleminate this if possible and bring Zope down to IPv4 > completely, because there are still many software libraries and applications > around (even some underlying os parts) which are not well tested with IPv6. > > If this solves your prob - no idea... > > > hth a bit. > cheerioh, > > > Niels. > -- > Niels Dettenbach > Syndicat IT & Internet > http://www.syndicat.com ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO manageUndo not working - DisconnectedError
thanks for the „shot“, yet disabling IPv6 locally on the VM does not help, same error: (server): 2015-05-06T10:05:51 INFO ZEO.StorageServer (127.0.0.1:44833) disconnected -- 2015-05-06T10:05:51 INFO ZEO.zrpc.Connection('S') (127.0.0.1:44835) received handshake 'Z3101' -- 2015-05-06T10:06:35 ERROR ZEO.zrpc (3040) can't decode message: '(K\x05I00\nU\x08undoInfo(K\x00K\x14}U\x0bdescriptioncco...' -- 2015-05-06T10:06:35 ERROR ZEO.zrpc.Connection('S') (127.0.0.1:44835) Error caught in asyncore Traceback (most recent call last): File "/opt/python/2.7.9/lib/python2.7/asyncore.py", line 83, in read obj.handle_read_event() File "/opt/python/2.7.9/lib/python2.7/asyncore.py", line 449, in handle_read_event self.handle_read() File "/opt/python/zope2-latest/lib/python2.7/site-packages/ZEO/zrpc/smac.py", line 240, in handle_read self.message_input(msg) File "/opt/python/zope2-latest/lib/python2.7/site-packages/ZEO/zrpc/connection.py", line 417, in message_input msgid, async, name, args = self.decode(message) File "/opt/python/zope2-latest/lib/python2.7/site-packages/ZEO/zrpc/marshal.py", line 80, in server_decode return unpickler.load() # msgid, flags, name, args File "/opt/python/zope2-latest/lib/python2.7/site-packages/ZEO/zrpc/marshal.py", line 120, in server_find_global raise ZRPCError("import error %s: %s" % (module, msg)) ZRPCError: import error copy_reg: -- 2015-05-06T10:06:35 INFO ZEO.StorageServer (127.0.0.1:44835) disconnected -- 2015-05-06T10:06:35 INFO ZEO.zrpc.Connection('S') (127.0.0.1:44837) received handshake ‚Z3101' More ideas? :-) > Am 06.05.2015 um 07:42 schrieb Niels Dettenbach (Syndicat IT & Internet) > : > > Am 6. Mai 2015 01:24:50 MESZ, schrieb "Sebastian Tänzer" : >> 2015-05-06 01:16:46 WARNING ZEO.zrpc (19205) CW: error connecting to >> ('::1', ): ECONNREFUSED >> 2015-05-06 01:16:46 INFO ZEO.ClientStorage zeostorage Testing >> connection >> 2015-05-06 01:16:46 INFO ZEO.zrpc.Connection('C') (127.0.0.1:) > hmm, > > just a small shot in the dark: Even if this "should" work too - why the > client tries to connect the IPv4 address of loopback and the error gives the > IPv6 of it back? > > I would try to eleminate this if possible and bring Zope down to IPv4 > completely, because there are still many software libraries and applications > around (even some underlying os parts) which are not well tested with IPv6. > > If this solves your prob - no idea... > > > hth a bit. > cheerioh, > > > Niels. > -- > Niels Dettenbach > Syndicat IT & Internet > http://www.syndicat.com ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO manageUndo not working - DisconnectedError
Am 6. Mai 2015 01:24:50 MESZ, schrieb "Sebastian Tänzer" : >2015-05-06 01:16:46 WARNING ZEO.zrpc (19205) CW: error connecting to >('::1', ): ECONNREFUSED >2015-05-06 01:16:46 INFO ZEO.ClientStorage zeostorage Testing >connection >2015-05-06 01:16:46 INFO ZEO.zrpc.Connection('C') (127.0.0.1:) hmm, just a small shot in the dark: Even if this "should" work too - why the client tries to connect the IPv4 address of loopback and the error gives the IPv6 of it back? I would try to eleminate this if possible and bring Zope down to IPv4 completely, because there are still many software libraries and applications around (even some underlying os parts) which are not well tested with IPv6. If this solves your prob - no idea... hth a bit. cheerioh, Niels. -- Niels Dettenbach Syndicat IT & Internet http://www.syndicat.com ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] zeo cache-size tuning - number of obj. vs MB
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Gaute Amundsen wrote: > On Wed, 2010-01-06 at 03:57 -0500, Tres Seaver wrote: >> The ZEO client cache is a disk-based cache, separate from the RAM-based >> cache used by any ZODB connection. It doesn't use RAM, per se, except >> for an in-memory index of OID -> (layer, offset). > > What would happen if set too small or too large? If it is too small, your app will have to go across the net too often to fetch an object's state from the ZEO server. If it is too large, then recovering after the client disconnects from the ZEO server can take a very long time. >> Assuming you are running with the default number of "worker threads" >> (4): 1 objects in the cache * 4 active connections per appserver * >> 9 appservers means you are caching 360,000 objects in RAM. If they are >> putting you into swap, then you are averaging something like 10Kb per >> object, which is pretty big. > > Sorry, forgot to mention: 1 thread per appserver. > Otherwise there's not much use in haproxy's load balancing we figured. I would probably test that assumption. One rule of thumb I use is one appserver process per CPU, and then tune number of threads / connection cache size until the machine stays just out of swap. > Meory usage as reported by munin is avg. 160M, max ~220M > and backend loads/stores are about 1000/10 a minute avg. > and iowait at 45% avg today. > committed memory 3.7G avg. > > This little oneliner for summing VSZ: > ps auxf | grep zope | awk '{total+=$5} END{print total}' > reports: > 1918552 for zope > 1489768 for varnish > 2270732 for www-data > > And for RSS > 1375908 zope > 177200 varnsih > 374624 www-data > > > in addition to the 9, that includes one appserver with 6 therads/6 > obs and one with 1 therad/2 for developers and robots respectively. Nothing jumps out at me: I might look at pushing varnish or apache off onto another machine, maybe. >> I think I might cut down on the number of appservers on that host, if it >> truly is hitting swap. Or trim the number of threads per appserver down >> from 4 to 2 or 3. > > Problem is we run out of them way to often now, and get 503's from > haproxy. I just added another 3 in fact.. > > Perhaps I'll try with 6 tomorrow.. If your proxy is timing you out, then maybe you need to look at more hardware, or elas spend some time profiling the application and trimming out unnecessary work there. Tres. - -- === Tres Seaver +1 540-429-0999 tsea...@palladion.com Palladion Software "Excellence by Design"http://palladion.com -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAktE7C8ACgkQ+gerLs4ltQ74QgCffLc5emNAK7l22qbdGDQgagVv UnkAoMFwNe4cnO1grPe6x6aHt6WgdRNt =sRPq -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] zeo cache-size tuning - number of obj. vs MB
On Wed, 2010-01-06 at 03:57 -0500, Tres Seaver wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > Gaute Amundsen wrote: > > Hi > > > > What's the difference between the to cache-size settings here? > > I've not been able to find a good description to guide me in finding the > > right values. > > > > > > mount-point / > > cache-size 1 1. > > > > server foo:9080 > > storage main > > name zeostorage > > var $INSTANCE/var > > cache-size 20MB 2. > > > > > > > > As far as I've been able to determine, the second one 2. refers to a > > separate cache at the zeo connection level. > > The ZEO client cache is a disk-based cache, separate from the RAM-based > cache used by any ZODB connection. It doesn't use RAM, per se, except > for an in-memory index of OID -> (layer, offset). What would happen if set too small or too large? > > Running 9 zeo clients (2.7.9) like this on a frontend with 4G ram, > > varnish, apache, and haproxy. Tethering on the edge of too much > > swapping. Needing to cut down.. > > Assuming you are running with the default number of "worker threads" > (4): 1 objects in the cache * 4 active connections per appserver * > 9 appservers means you are caching 360,000 objects in RAM. If they are > putting you into swap, then you are averaging something like 10Kb per > object, which is pretty big. Sorry, forgot to mention: 1 thread per appserver. Otherwise there's not much use in haproxy's load balancing we figured. Meory usage as reported by munin is avg. 160M, max ~220M and backend loads/stores are about 1000/10 a minute avg. and iowait at 45% avg today. committed memory 3.7G avg. This little oneliner for summing VSZ: ps auxf | grep zope | awk '{total+=$5} END{print total}' reports: 1918552 for zope 1489768 for varnish 2270732 for www-data And for RSS 1375908 zope 177200 varnsih 374624 www-data in addition to the 9, that includes one appserver with 6 therads/6 obs and one with 1 therad/2 for developers and robots respectively. > > Would it be better to spend all the memory on 1? > > Is there a good way to find a balance? > > I think I might cut down on the number of appservers on that host, if it > truly is hitting swap. Or trim the number of threads per appserver down > from 4 to 2 or 3. Problem is we run out of them way to often now, and get 503's from haproxy. I just added another 3 in fact.. Perhaps I'll try with 6 tomorrow.. Thanks :) Gaute ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] zeo cache-size tuning - number of obj. vs MB
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Gaute Amundsen wrote: > Hi > > What's the difference between the to cache-size settings here? > I've not been able to find a good description to guide me in finding the > right values. > > > mount-point / > cache-size 1 1. > > server foo:9080 > storage main > name zeostorage > var $INSTANCE/var > cache-size 20MB 2. > > > > As far as I've been able to determine, the second one 2. refers to a > separate cache at the zeo connection level. The ZEO client cache is a disk-based cache, separate from the RAM-based cache used by any ZODB connection. It doesn't use RAM, per se, except for an in-memory index of OID -> (layer, offset). > Running 9 zeo clients (2.7.9) like this on a frontend with 4G ram, > varnish, apache, and haproxy. Tethering on the edge of too much > swapping. Needing to cut down.. Assuming you are running with the default number of "worker threads" (4): 1 objects in the cache * 4 active connections per appserver * 9 appservers means you are caching 360,000 objects in RAM. If they are putting you into swap, then you are averaging something like 10Kb per object, which is pretty big. > Would it be better to spend all the memory on 1? > Is there a good way to find a balance? I think I might cut down on the number of appservers on that host, if it truly is hitting swap. Or trim the number of threads per appserver down from 4 to 2 or 3. Tres. - -- === Tres Seaver +1 540-429-0999 tsea...@palladion.com Palladion Software "Excellence by Design"http://palladion.com -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAktEUIQACgkQ+gerLs4ltQ6pYwCfX4g/ZVfAnyJNQ4Y1njnSx1HV 6QEAnAg/UHsCEQSx6rUpj5K9X2JkoGdQ =7ya0 -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org https://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] zeo client tracking
+---[ Mikael Kermorgant ]-- | Hello, | | We're using a zope 2.10 setup with a zeo server and several zeo clients behind | lvs. | | Sometimes, we'd like to track which zeo client handled teh request, and we're | going to need it as we'd like to proove that ha-proxy handles session | persistance. | | Is there a way to add a header in the http response or the html code to do that | ? Well the Zope Request has a bunch of things you can use; Adding in something into your template that stamps the page with it should be simple enough. e.g. -- Andrew Milton a...@theinternet.com.au ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO configuration question ...
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Analog Kid wrote: > I have a zeo setup which has one zeo server (say s1) and 5 zeo clients (say > c1 through c5). All of these clients share a single Data.fs. Now, I need a > zeo server (say s2) between just some of the zeo clients (say c1 and c2). > all of these instances should share just one Dafa.fs file. Is this > configuration possible/feasible. Any alternatives? It is possible to "mount" a second storage at a given point within the main storage used by the database: the standard zope.conf, for instance, sets this up for the session data:: # Temporary storage database (for sessions) name temporary storage for sessioning mount-point /temp_folder container-class Products.TemporaryFolder.TemporaryContainer You can do the same thing in your two "special" clients, setting up a mount for the "private" storage. One caveat is that you will have to add a "mount point" object (an instance of 'Products.ZODBMountPoint.MountedObject.MountedObject') in the main part of your database at the path pointed to by 'mount-point' in the configuration. The other clients will see the "empty" mount point, but won't be able to traverse into it, because they won't be configured with the stanza that actually creates the mount. HTH, Tres. - -- === Tres Seaver +1 540-429-0999 [EMAIL PROTECTED] Palladion Software "Excellence by Design"http://palladion.com -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFI06Zz+gerLs4ltQ4RAiKgAKDQGU0vkSQsuSp9+3pTTrgtWcSSHACgvH0i +EDdtDrbsfoBQeQFmK9yJgs= =6rgr -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO clusters on a single box
Jean Jordaan wrote at 2008-8-13 12:26 +0700: >We have a server running many ZEO clusters (many more than the number of >CPUs, of course). Each cluster consists of a master and two clients. > >Would it make sense to run both clients and spread requests across them? Usually, this would make sense when your clusters have very different request rates (such that the probability is high, that requests to a single cluster run in parallel while other clusters are lazy). -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO clusters on a single box
--On 13. August 2008 12:26:28 +0700 Jean Jordaan <[EMAIL PROTECTED]> wrote: Hi there We have a server running many ZEO clusters (many more than the number of CPUs, of course). Each cluster consists of a master and two clients. Would it make sense to run both clients and spread requests across them? Or would it be better to just increase the number of threads of a single client, and only use the second client for './bin/zopectl debug', and for failover if the first client needs to be restarted? Would it ever make sense to have *more* than 2 clients per master, in this scenario (many more processes than CPUs)? I think there is no general rule. E.g. we are running a production cluster with 10 ZEO clients where two or three nodes care about long-running requests (like document checkin/checkouts). All other clients deal with the "standard" request. With this approach we can have different configurations for the number of threads and cache-size. The balancing is done based on patterns where we identify the long-running requests through a pattern with the URL. -aj pgps19I5CQgcM.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] zeo configuration HOWTO
--On 22. April 2008 15:16:55 -0700 David Bear <[EMAIL PROTECTED]> wrote: I'm trying to find more documentation about all the configuration parameters for a zeo.conf Namely, I have a zope with multiple zodb's and mount points. I am trying to learn how to migration a single zope instance with multiple mounts into zeo. One thing I don't understand is temporary storage. If I have # Temporary storage database (for sessions) name temporary storage for sessioning mount-point /temp_folder container-class Products.TemporaryFolder.TemporaryContainer in zope.conf -- how do and transfer that into zeo.conf and modify the zope.conf to properly understand. specifically, do I put 'container-class' in zeo.conf ? Also, in zope.conf what do 'server', 'storage', 'name', and 'client' map to in zeo.conf? There must be a more detail descriptions of how to configure zeo somewhere. Check the documentation of the underlying ZConfig structure. I think ZEO/components.xml is a good start (check the spelling and search for something with *.xml :-)) -aj pgpePACKrKaGw.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] zeo configuration HOWTO
David Bear schrieb: I'm trying to find more documentation about all the configuration parameters for a zeo.conf I *believe* on plope.org there was an introduction to it with some more parameters explained. Namely, I have a zope with multiple zodb's and mount points. I am trying to learn how to migration a single zope instance with multiple mounts into zeo. One thing I don't understand is temporary storage. If I have # Temporary storage database (for sessions) name temporary storage for sessioning mount-point /temp_folder container-class Products.TemporaryFolder.TemporaryContainer in zope.conf -- how do and transfer that into zeo.conf and modify the zope.conf to properly understand. this is where "volatile" thing are created and purged again. there is never anything to migrate from here specifically, do I put 'container-class' in zeo.conf ? there is a howto on this on either zope.org or (more probably) on plone.org Also, in zope.conf what do 'server', 'storage', 'name', and 'client' map to in zeo.conf? There must be a more detail descriptions of how to configure zeo somewhere. -- David Bear College of Public Programs at ASU 602-464-0424 ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev ) ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Re: Zope Zeo Performance
FuBuJo wrote at 2008-3-14 22:06 +: > ... >I thought putting Apache in front of Zope was very common (using VirtualHost >Monster) - guess not. This is common. But, usually, a ZEO client is not abbreviated as "ZEO". "ZEO" usually means the ZEO server. > ... >It's the python process on the Zeo Client that grows large and seems to become >unresponsive. Possibly due to the "Transaction blocking" being reported in the >Zeo Severs log. Occational "transaction blocking" messages are no reason to worry about. Only, when you see it very often or the number of waiting clients is quite high, bad things are happening. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Re: Zope Zeo Performance
FuBuJo schrieb: > I apologize that my description was so confusing. > I appreciate the feedback and so would like to clarify. > > The diagram is how the traffic flows. So we have: > Step 1 - a Load Balancer that passes traffic to Apache > > Step 2 - Apache which uses mod_proxy to obfuscate the URL and proxies traffic > to > the Zeo Client is that so? does not apache talk to a zope server ? robert ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: Zope Zeo Performance
I apologize that my description was so confusing. I appreciate the feedback and so would like to clarify. The diagram is how the traffic flows. So we have: Step 1 - a Load Balancer that passes traffic to Apache Step 2 - Apache which uses mod_proxy to obfuscate the URL and proxies traffic to the Zeo Client Step 3 - the Zeo Client (residing on the same physical box as Apache) that then forwards the traffic to the Zeo Server Step 4- the Zeo Server that runs on its own box and writes to the ZODB. I thought putting Apache in front of Zope was very common (using VirtualHost Monster) - guess not. As for versions: FreeBSD 5.3 Python 2.3.5 Zope 2.7 The load on the Zeo Server is minuscule. The load on the Zeo Client(s) gets very large. It's the python process on the Zeo Client that grows large and seems to become unresponsive. Possibly due to the "Transaction blocking" being reported in the Zeo Severs log. Strangely disconnecting the Zeo Client from the Server while the Zeo Client is "locked" rarely gives the ... "disconnected during transaction" error message that I expected to see more of. Hope that clears up things for anyone else who'd like to chime in. Dieter - As for your suggestions. Thanks so much! I will certainly begin to investigate and pursue each. They seem very good things to do - just in general. I appreciate the input. I'll let the list knows how everything works out. I do notice that there was no mention of any general (config file) configuration techniques (increasing threads, cache objects, etc. etc.) --- is configuration not really that big of a performance boost? Thanks again for the direction. ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo and conflict resolution (was "suddenly confused")
Ricardo Newbery wrote at 2008-1-29 22:56 -0800: > ... >Another related question. With respect to conflict resolution, is is >safe to assume that products (with _p_resolveConflict methods) in the >main Zope products directory are already available to the ZEO server >without any special configuration? Usually -- but of course not always. If you use and start ZEO from a Zope installation, then "lib/python" needs to be on "PYTHONPATH" such that ZEO finds its code and supporting packages. Then the content of "lib/python/Products" can be used normally as package "Products". There is no magic needed for this. Of course, you can start ZEO from a non Zope installation (e.g. from a standalone ZEO installation) and then Zope's "Products" will be unavailable -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO clients going zombie
Bengt Giger wrote at 2007-4-10 15:36 +0200: >with our new ZEO client systems, we frequently observe this problem: > >a ZEO process starts to use 100% CPU time (user) without a significant >increase of requests. Sometimes (but not always) the process stops answering >requests, still using 100% CPU. > >When we kill such a process, it changes to zombie state (shown in top as 'Z' >and ''), still using 100% CPU, but now its system time, not user. The >HTTP port is still in use, so we have to reboot this node to restart the ZEO >client. This usually fails because some filesystems cannot be unmouted, there >are still files locked. > >I tried both start modes, runzope and zopectl, but no difference. > >All that is in opposition of what I know about zombie processes, they should >use no CPU time. I may have seen a similar problem (though I am not sure about the details): The problem was a buggy Python signal handling together with a doubtful Linux thread implementation (2.4 kernel). When a fatal signal occured, the signal killed the main thread but all other threads were in a strange state. Only a "SIGKILL" could get them out of this state. Of course, the ports remained open although nobody serviced them. I am not sure whether the threads were in zombie state or used CPU. Probably not. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: zope/zeo on multiprocessor machines?
cristopher pierson ewing, on 2007-01-23: > I've been told that zope is not set up to utilize the extra processing > power of multiproc machines. I have a new intel x-serve with the > dual-core dual-proc setup, and want to get the most I can out of zope. > I've read a few articles that mention running more than one zope process > as zeo clients sharing a single ZODB. What isn't mentioned is any > additional seetup needed to ensure that each zeo client uses a separate > processor. Is there any? Or is this automagically handled? A site we (Zest Software) made for a big customer runs on a dual-core server, with some multithreading so it seems like there are 4 processors. With one zeo client, only at most 25 percent of the processing power was used. We added a few zeo clients and saw the processor a lot more active, probably approaching 100 % when all clients are fully active. A big improvement, with no additional setup that I am aware of. So it is automagically handled, yes. -- Maurits van Rees | http://maurits.vanrees.org/ [NL] Work | http://zestsoftware.nl/ "Do not worry about your difficulties in computers, I can assure you mine are still greater." ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo question
- Original Message - From: "ian" <[EMAIL PROTECTED]> To: "Jonathan" <[EMAIL PROTECTED]> Cc: Sent: Wednesday, December 13, 2006 4:26 PM Subject: Re: [Zope] Zeo question Ola, You can easily do this by changing the 'display' routines on each zope instance I feel so stupid asking but what do you mean by this...i have googled but cannot find anything about 'zope display routines' ... Do you mean this: In the zope instances I can create a folder custom and place my customizations in there.. By 'display' routines I meant the page templates or dtml methods that you use to format your data/html. -- so I create logo_manaus.jpg for Manaus and this goes in the folder custom on the zope instance in Manaus and then i create logo_belem.jpg for Belem in the folder custom on the zope instance in Belem...and we live happily ever after ;) -- I think my problem is that i do not really understand what is stored in the ZODB...is it just content or is it content and configuration []'s You should have a read thru the zope book, i think this is the latest version: http://www.plope.com/Books/2_7Edition Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo question
Ola, You can easily do this by changing the 'display' routines on each zope instance I feel so stupid asking but what do you mean by this...i have googled but cannot find anything about 'zope display routines' ... Do you mean this: In the zope instances I can create a folder custom and place my customizations in there.. -- so I create logo_manaus.jpg for Manaus and this goes in the folder custom on the zope instance in Manaus and then i create logo_belem.jpg for Belem in the folder custom on the zope instance in Belem...and we live happily ever after ;) -- I think my problem is that i do not really understand what is stored in the ZODB...is it just content or is it content and configuration []'s -- Ian Lawrence http://ianlawrence.info Centre for Bioinformatics INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA RUA ANDRÉ ARAÚJO N º .2936 , BAIRRO DO ALEIXO MANAUS-AMAZONAS-BRAZIL Research Program in Biodiversity http://ppbio.inpa.gov.br PHONE: 055-92-3643-3358 CEP. 69011 -970 | Please do not send me documents in a closed | format.(*.doc,*.xls,*.ppt) | Use the open alternatives. (*.pdf,*.html,*.txt) http://www.gnu.org/philosophy/no-word-attachments.html >>> return [type for type in types if type not in types_to_exclude] If you can see the beauty, then Python got you ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo question
> auaua...i didn't know that ;)...this is really cool. Now the > inevitable question - 'Is there any documentation about how to set > this up ?' http://www.zope.org/Wikis/ZODB/HowtoRunAZEOServer/howto.html http://plope.com/Books/2_7Edition/ZEO.stx and one more interesting thing: http://longsleep.org/howto/sharesessionwithzeo/view -- Maciej Wisniowski ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo question
- Original Message - From: "ian" <[EMAIL PROTECTED]> To: "Jonathan" <[EMAIL PROTECTED]> Cc: "Maciej Wisniowski" <[EMAIL PROTECTED]>; Sent: Wednesday, December 13, 2006 7:51 AM Subject: Re: [Zope] Zeo question Ola, thx maciej and Jonathan...your answers have helped a lot Each zope instance can access multiple ZODB's (as Maciej mentions later), which means that the zope instance can access both a shared zodb and a local zodb which is specific to the zope instance. auaua...i didn't know that ;)...this is really cool. Now the inevitable question - 'Is there any documentation about how to set this up ?' Maybe I just define another in my zope.conf and mount it into a folder like maciej said and just customize this folder. To set up multiple mount points you need to edit your zope.conf (to configure the various mount points), then you need to Add 'ZODB Mount Point' via the ZMI at the appropriate location (note: this is for zope 2.7+). You can google for 'zodb mount points' if you need more info. What i need to do is just create a custom skin on each zope instance to show that it is Manaus,Belem or wherever serving the information but have the same global content shown in each instance. From what you have said it seems this should be possible with a bit of tweaking You can easily do this by changing the 'display' routines on each zope instance. Another method I have used is to set up URL subdomains for each 'different' entry point and then use Apache rewriting to automagically redirect the user to the correct location within the zope instance (ie. a different folder for each subdomain) - this allows you to have each zope instance be a real 'copy' (and not have to maintain different versions), but it depends on your use case as to which method is most appropriate for you! Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo question
Ola, thx maciej and Jonathan...your answers have helped a lot Each zope instance can access multiple ZODB's (as Maciej mentions later), which means that the zope instance can access both a shared zodb and a local zodb which is specific to the zope instance. auaua...i didn't know that ;)...this is really cool. Now the inevitable question - 'Is there any documentation about how to set this up ?' Maybe I just define another in my zope.conf and mount it into a folder like maciej said and just customize this folder. What i need to do is just create a custom skin on each zope instance to show that it is Manaus,Belem or wherever serving the information but have the same global content shown in each instance. From what you have said it seems this should be possible with a bit of tweaking Zope is very flexible! You just need to build a configuration which meets your use case! welcome to OSS, eh ! []'s -- Ian Lawrence http://ianlawrence.info Centre for Bioinformatics INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA RUA ANDRÉ ARAÚJO N º .2936 , BAIRRO DO ALEIXO MANAUS-AMAZONAS-BRAZIL Research Program in Biodiversity http://ppbio.inpa.gov.br PHONE: 055-92-3643-3358 CEP. 69011 -970 | Please do not send me documents in a closed | format.(*.doc,*.xls,*.ppt) | Use the open alternatives. (*.pdf,*.html,*.txt) http://www.gnu.org/philosophy/no-word-attachments.html >>> return [type for type in types if type not in types_to_exclude] If you can see the beauty, then Python got you ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo question
- Original Message - From: "Maciej Wisniowski" <[EMAIL PROTECTED]> To: "ian" <[EMAIL PROTECTED]> Cc: Sent: Tuesday, December 12, 2006 4:00 PM Subject: Re: [Zope] Zeo question 2. I can create a custom skin on each zope (in reality plone) instance right or is each zope instance is just a mirror of the other? Nope. It is something different. In general ZEO is about sharing ZODB (Zope Object Database) between few Zope instances. There is no mirroring but just one ZODB. ZODB is a place where all objects you have created through ZMI (Zope Management Interface) are hold. Scripts and external methods can also create objects which are stored in the ZODB When you have standard setup (one Zope instance) it has it's own ZODB (you may see this in /var/data.fs. With ZEO you have ZEOServer that holds ZODB (data.fs file) and multiple ZEO Clients that are connecting to it. ZEOClient is a normal ZopeInstance that is not using it's own data.fs (ZODB) but shared one. Each zope instance can access multiple ZODB's (as Maciej mentions later), which means that the zope instance can access both a shared zodb and a local zodb which is specific to the zope instance. Because of this, every object created/changed/removed on one ZEOClient is removed from shared ZODB therefore all ZEOClient see this. There is more things that can be done. You may for example define (in zope.conf) mount points for folders that are individual for each zope etc. -- Maciej Wisniowski You could store all objects in a shared zodb, even objects which are specific to a single zope instance (and control access via permissions, application logic, etc). And you can create objects in a local zodb (which would only be accessible by the local zope instance). Zope is very flexible! You just need to build a configuration which meets your use case! hth Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo question
> 2. I can create a custom skin on each zope (in reality plone) instance > right or is each zope instance is just a mirror of the other? Nope. It is something different. In general ZEO is about sharing ZODB (Zope Object Database) between few Zope instances. There is no mirroring but just one ZODB. ZODB is a place where all objects you have created through ZMI (Zope Management Interface) are hold. When you have standard setup (one Zope instance) it has it's own ZODB (you may see this in /var/data.fs. With ZEO you have ZEOServer that holds ZODB (data.fs file) and multiple ZEO Clients that are connecting to it. ZEOClient is a normal ZopeInstance that is not using it's own data.fs (ZODB) but shared one. Because of this, every object created/changed/removed on one ZEOClient is removed from shared ZODB therefore all ZEOClient see this. There is more things that can be done. You may for example define (in zope.conf) mount points for folders that are individual for each zope etc. -- Maciej Wisniowski ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo Client hanging
I see references to asyncore.py near the end of the thread listing when using DeadLockDebugger and seeing a stuck thread process. The tread eventually clears out but sometimes an impatient user reloads, reloads, reloads...and then all 4 threads are stuck on exact same thing. Then you can see the same URL jump to the other Zope/ZEO client and same thing happens there. Another few reloads and one user has effectively crashed the siteuntil the threads clear themselves out. Usually is a catalog search for a news article or something spanning our 6 years of online news articles searching on the word 'bob' or something like that. +1 for DeadlockDebugger... love it. Allen Paul Winkler wrote: On Wed, Oct 18, 2006 at 07:32:38AM +0200, Maciej Wisniowski wrote: zope 2.8.5 + zeo python 2.3.4 (red hat distribution) Red Hat RHEL 4 Plone 2.1.2 Our zeo clients hang intermittently. We have no way of reproducing the problem, but it occurs daily. The client hangs and a restart seems to fix the problem. Install DeadlockDebugger and you'll be able to see what is the state of your threads when Zope becomes unresponsive. In the event log with tracing on we get Trace zeo.zrpc.Connection(C) wait(16697) {server:8100} pending, async=0 There are hundreds to thousands of these until the server is restarted. In the zeo log we get Error caught in asyncore asyncore.py error:(110,'Connection timed out') I'm not sure what these errors are. Maybe firewall between zeo server and zeo client closes the connections or something like that? That was my guess too. See this thread: http://aspn.activestate.com/ASPN/Mail/Message/zope-list/2916870 ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo Client hanging
On Wed, Oct 18, 2006 at 07:32:38AM +0200, Maciej Wisniowski wrote: > > > > >zope 2.8.5 + zeo > >python 2.3.4 (red hat distribution) > >Red Hat RHEL 4 > >Plone 2.1.2 > > > >Our zeo clients hang intermittently. We have no way of reproducing the > >problem, but it occurs daily. The client hangs and a restart seems to > >fix the > >problem. > Install DeadlockDebugger and you'll be able to see what is > the state of your threads when Zope becomes unresponsive. > > >In the event log with tracing on we get > > > >Trace zeo.zrpc.Connection(C) wait(16697) {server:8100} pending, async=0 > > > >There are hundreds to thousands of these until the server is restarted. > > > >In the zeo log we get > > > >Error caught in asyncore asyncore.py > > > >error:(110,'Connection timed out') > I'm not sure what these errors are. Maybe firewall between zeo > server and zeo client closes the connections or something like that? That was my guess too. See this thread: http://aspn.activestate.com/ASPN/Mail/Message/zope-list/2916870 -- Paul Winkler http://www.slinkp.com ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo Client hanging
zope 2.8.5 + zeo python 2.3.4 (red hat distribution) Red Hat RHEL 4 Plone 2.1.2 Our zeo clients hang intermittently. We have no way of reproducing the problem, but it occurs daily. The client hangs and a restart seems to fix the problem. Install DeadlockDebugger and you'll be able to see what is the state of your threads when Zope becomes unresponsive. In the event log with tracing on we get Trace zeo.zrpc.Connection(C) wait(16697) {server:8100} pending, async=0 There are hundreds to thousands of these until the server is restarted. In the zeo log we get Error caught in asyncore asyncore.py error:(110,'Connection timed out') I'm not sure what these errors are. Maybe firewall between zeo server and zeo client closes the connections or something like that? -- Maciej Wisniowski ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO and Data.fs
Title: Re: [Zope] ZEO and Data.fs No, you just need to change zope.conf to move from FileStorage to ClientStorage, and then you can move your Data.fs file to ZEO var directory and start zeo. Pascal De : "Sinang, Danny" <[EMAIL PROTECTED]> Date : Mon, 18 Sep 2006 21:38:48 +0800 À : Conversation : ZEO and Data.fs Objet : [Zope] ZEO and Data.fs Hello, We're currently not using ZEO, but may do so in the future. Question is, do we need to export or convert our Data.fs to a ZEO-capable format ? Regards, Danny ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev ) ** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses. www.mimesweeper.com ** ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO and Data.fs
--On 18. September 2006 21:38:48 +0800 "Sinang, Danny" <[EMAIL PROTECTED]> wrote: Hello, We're currently not using ZEO, but may do so in the future. Question is, do we need to export or convert our Data.fs to a ZEO-capable format ? No, just create a new ZEO instance and copy over the Data.fs from the existing standalone installation...easy, isn't it? :-) -aj pgpBhZpi3onV9.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
Jens Vagelpohl wrote at 2006-9-14 15:50 +0200: >-BEGIN PGP SIGNED MESSAGE- >Hash: SHA1 > > >On 14 Sep 2006, at 15:34, Jonathan wrote: Yes: a single zeo server can deal with multiple storages (ie. a storage can contain mount points to other storages) >>> >>> That's misleading wording, a storage knows nothing at all about >>> mounts. The storage server can't do anything except for reading >>> from and writing to ZODB databases. Mounting is a client concept >>> only. >> >> P.S. Or is the mount point totally controlled by zope.conf and >> nothing relating to the 'mount point' is stored in the storage? > >You got it. I am not sure about the most recent Zope/ZODB versions. But, up to Zope 2.8/ZODB 3.4, Jonathan was right: Beside configuration, there have been MountPoint objects in the ZODB that handled the mounting magic. While not completely impossible, I would be very surprised if the need for MountPoint objects were dropped in newer Zope versions... -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
Brian Brinegar wrote at 2006-9-13 21:22 -0400: > ... partioning large data sets onto different storages ... >First off, does this make any sense? I makes sense and we do it successfully with our large editorial system. However, ensure that each storage is self contained data wise: e.g. do not put data in one storage and have them catalogued in a different one. Otherwise, selective backup of individual storages will introduce inconsistencies. >Is it worth pursuing? Yes. >Secondly, I >assume that where an object is stored does not limit what other objects >it can access in a transaction (e.g. object A could add a property to >object B if they were in different storages) because all changes would >occur in a client. (this ties into the single transaction committing to >multiple storages) Right. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
- Original Message - From: "Jens Vagelpohl" <[EMAIL PROTECTED]> To: "[Zope] List Mailing" Sent: Thursday, September 14, 2006 9:21 AM Subject: Re: [Zope] ZEO with Multiple Storages -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 14 Sep 2006, at 13:56, Jonathan wrote: Yes: a single zeo server can deal with multiple storages (ie. a storage can contain mount points to other storages) That's misleading wording, a storage knows nothing at all about mounts. The storage server can't do anything except for reading from and writing to ZODB databases. Mounting is a client concept only. I didn't say that the storage 'knew' anything about mount points. I simply stated that a storage can contain mount points to other storages (storages contain objects, if one of those objects happens to be a mount point to another storage the storage containing the 'mount point' object doesn't care). So the wording is not misleading (if the storage doesn't contain the mount point object, where is it stored?) Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 14 Sep 2006, at 15:34, Jonathan wrote: Yes: a single zeo server can deal with multiple storages (ie. a storage can contain mount points to other storages) That's misleading wording, a storage knows nothing at all about mounts. The storage server can't do anything except for reading from and writing to ZODB databases. Mounting is a client concept only. P.S. Or is the mount point totally controlled by zope.conf and nothing relating to the 'mount point' is stored in the storage? You got it. jens -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) iD8DBQFFCV48RAx5nvEhZLIRAsLWAKCIYC9D+/QpX6oq3QvHvWSBtMMCGQCfY5fS LLsShBUeXJI+O6FSZRiYqxw= =/czT -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
- Original Message - From: "Jens Vagelpohl" <[EMAIL PROTECTED]> To: "[Zope] List Mailing" Sent: Thursday, September 14, 2006 9:21 AM Subject: Re: [Zope] ZEO with Multiple Storages -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 14 Sep 2006, at 13:56, Jonathan wrote: Yes: a single zeo server can deal with multiple storages (ie. a storage can contain mount points to other storages) That's misleading wording, a storage knows nothing at all about mounts. The storage server can't do anything except for reading from and writing to ZODB databases. Mounting is a client concept only. P.S. Or is the mount point totally controlled by zope.conf and nothing relating to the 'mount point' is stored in the storage? Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 14 Sep 2006, at 13:56, Jonathan wrote: Yes: a single zeo server can deal with multiple storages (ie. a storage can contain mount points to other storages) That's misleading wording, a storage knows nothing at all about mounts. The storage server can't do anything except for reading from and writing to ZODB databases. Mounting is a client concept only. jens -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) iD8DBQFFCVdQRAx5nvEhZLIRAkACAJwM7Cv0+dmnjgtsGsnYhYb6Vzl8BwCgqO8Y z4WxwoWO/XOrRkW8FwLZx9k= =4Lax -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
- Original Message - From: "Martijn Pieters" <[EMAIL PROTECTED]> To: "Jonathan" <[EMAIL PROTECTED]> Cc: "Brian Brinegar" <[EMAIL PROTECTED]>; Sent: Thursday, September 14, 2006 2:54 AM Subject: Re: [Zope] ZEO with Multiple Storages On 9/14/06, Jonathan <[EMAIL PROTECTED]> wrote: If you mean having zope commit a single transaction to multiple storages, then 'vanilla' zope won't do it (Zope Corp has a commercial product called ZRS which does this type of thing). No, that's not true. ZRS is used to create hot read-only or stand-by copies of a ZEO server (and all storages within such a server are copied). One ZEO server can deal with multiple storages just fine. Transactions involving multiple storages commit just fine. Yes and No! Yes: a single zeo server can deal with multiple storages (ie. a storage can contain mount points to other storages) Yes: if a single transaction creates/modifies multiple objects and each of those objects is stored in a different storage (all storages 'served up' by a single zeo server), then the single transaction will commit those objects to their respective storages with no problem. (however, there are little/no performance improvements in this scenario) No: if a single transaction creates/modifies a single object, that single object can not be stored over multiple storages (ie. you cannot achieve RAID 'disk striping' type of performance improvements) However, that being said there may be some improvement, if the application is disk-bound, by giving each storage its own disk subsystem (never tried this myself, but it may buy some small performance improvement). For the cost/effort involved I would stick to having a single zeo server 'serve up' a single storage, and have each zeo server on its own hardware platform (much more scalable, easy to implement). Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 14 Sep 2006, at 08:54, Martijn Pieters wrote: One ZEO server can deal with multiple storages just fine. Transactions involving multiple storages commit just fine. Caveat: You buy nothing by having a single ZEO process serve several ZODBs when you're trying to decrease commit times. You should run a ZEO process per ZODB you're serving out, that way the writes can be segregated and parallelized. That also makes it easier to move processes/databases around disks/hosts to spread I/O load. jens -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) iD8DBQFFCQSiRAx5nvEhZLIRAhihAKC7V0lCz3deSz0vN/0RhvdWmFAj0ACgoguT I8NDYcUbz5t25xniZZ1akfo= =63My -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
On 9/14/06, Jonathan <[EMAIL PROTECTED]> wrote: If you mean having zope commit a single transaction to multiple storages, then 'vanilla' zope won't do it (Zope Corp has a commercial product called ZRS which does this type of thing). No, that's not true. ZRS is used to create hot read-only or stand-by copies of a ZEO server (and all storages within such a server are copied). One ZEO server can deal with multiple storages just fine. Transactions involving multiple storages commit just fine. First off, does this make any sense? Is it worth pursuing? I think so. I would think, but do not know for sure, that transactions only involving one storage should not delay transactions involving other storages. Secondly, I assume that where an object is stored does not limit what other objects it can access in a transaction (e.g. object A could add a property to object B if they were in different storages) because all changes would occur in a client. (this ties into the single transaction committing to multiple storages) You assume correctly. Note that a stock Zope install already runs multiple storages; one for Session data (tempstorage) and one for all other data. Lastly, any thoughts on how we could split up our existing data.fs file? One thought I had was to attempt to import/export data. Either before or after upgrading to 2.9 (probably best after to take advantage of the more robust ZODB), export and import. -- Martijn Pieters ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO with Multiple Storages
- Original Message - From: "Brian Brinegar" <[EMAIL PROTECTED]> To: Sent: Wednesday, September 13, 2006 9:22 PM Subject: [Zope] ZEO with Multiple Storages We currently have a ZEO environment with FileStorage (data.fs) over 100 gigs, which continues to grow. Currently we are approaching a major hardware and software upgrade. All new hardware and moving from Zope 2.6 to Zope 2.9. Our server hosts sites for several different schools and departments within our college, what I have considered doing is trying to split up the data.fs into multiple smaller storages, possibly one per school. I suspect if this is possible it could potentially have several benefits. The first being that we would not have to deal with 100 gig files which are very difficult to move around backup/restore, etc. Secondly, we often have a very large number of users updating content at a given time and will run into slowdowns where a transaction is blocked while another commits. I hope that multiple storages could allow for a transaction to commit to one storage at the same time as another, though I am not sure. Along this line can a single transaction commit to multiple storages? If you mean having zope commit a single transaction to multiple storages, then 'vanilla' zope won't do it (Zope Corp has a commercial product called ZRS which does this type of thing). Alternatively, if your server is disk-bound then you could look into RAID disk striping to try to improve performance. First off, does this make any sense? Is it worth pursuing? Secondly, I assume that where an object is stored does not limit what other objects it can access in a transaction (e.g. object A could add a property to object B if they were in different storages) because all changes would occur in a client. (this ties into the single transaction committing to multiple storages) If this does makes sense is there any documentation, recommendations, best practices for how to set something like this up? Lastly, any thoughts on how we could split up our existing data.fs file? One thought I had was to attempt to import/export data. If you have the time and hardware you could easily set up several zeo servers on different 'back-end' hardware servers (ie. put each zeo server on its on computer) to improve performance, increase reliability/robustness, etc. Your 'use case' in which you have different schools and departments would lend itself to this kind of distribution (put the biggest/heaviest users on their own servers, group together smaller/lighter users on shared servers). You just need to define a mount point (in zope.conf) for each different zeo server (and set up each zeo server of course). If you already have the data for the various schools & depts stored in separate folders, it would be easy to export each 'school' folder and then import it into the new configuration. hth Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO Problem
--On 2. September 2006 12:15:47 -0400 beno <[EMAIL PROTECTED]> wrote: address 8100 and that your zeo server is running on the ip address specified in the entry in zope.conf That's logical. Why does zeo need its own port? Because every kind of network service needs its own port. -aj -- ZOPYX Ltd. & Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany Web: www.zopyx.com - Email: [EMAIL PROTECTED] - Phone +49 - 7071 - 793376 E-Publishing, Python, Zope & Plone development, Consulting pgpZ1fCZcP7pN.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO Problem
Jonathan wrote: I got this working by changing the following in zope.conf: server localhost:7080 to server 202.71.106.119: Apparently, it needs its own port? TIA, beno You need to make sure that the entry in your zeo client config file (zope.conf) eg server 194.123.123.123:8100 matches the entry in your zeo server config file (zeo.conf) eg. address 8100 and that your zeo server is running on the ip address specified in the entry in zope.conf That's logical. Why does zeo need its own port? ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO Problem
- Original Message - From: "beno" <[EMAIL PROTECTED]> To: Sent: Saturday, September 02, 2006 10:27 AM Subject: Re: [Zope] ZEO Problem I got this working by changing the following in zope.conf: server localhost:7080 to server 202.71.106.119: Apparently, it needs its own port? TIA, beno You need to make sure that the entry in your zeo client config file (zope.conf) eg server 194.123.123.123:8100 matches the entry in your zeo server config file (zeo.conf) eg. address 8100 and that your zeo server is running on the ip address specified in the entry in zope.conf Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO Problem
I got this working by changing the following in zope.conf: server localhost:7080 to server 202.71.106.119: Apparently, it needs its own port? TIA, beno Jonathan wrote: - Original Message - From: "beno" <[EMAIL PROTECTED]> To: Sent: Saturday, September 02, 2006 9:24 AM Subject: [Zope] ZEO Problem Hi; I'm reading the Plone book. It states that for Zope 2.7 (I have 2.78) ZEO is built in by default but must be instantiated thus: cd /opt/Zope-2/7/bin ./mkzeoinstance /var/zeo or some such code. So I tried this: cd /usr/local/zope/278/bin ./mkzeoinstance.py ../../instance2/var/zeo where 278 is my installation, instance2 is a Zope instance (I have 3), and mkzeoinstance.py is the command that works (mkzeoinstance by itself doesn't print anything to screen other than a command failed message). The Plone book then states that I must move Data.fs into the new /zeo/var dir, which I did. Everything seems to go well. If I start Zope using runzope I get this output at the tail end: -- 2006-09-02T13:15:35 INFO(0) Zope Ready to handle requests In your .../log/events.log file you should see some zeo connection activity, like: 2006-09-02T08:11:17 INFO Zope Ready to handle requests -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) ClientStorage (pid=3196) created RW/normal for storage: '1' -- 2006-09-02T08:11:44 INFO ZEO.cache created temporary cache file '' -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Testing connection -- 2006-09-02T08:11:44 INFO ZEO.zrpc.Connection(C) (194.164.124.4:8100) received handshake 'Z303' -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Server authentication protocol None -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Connected to storage: ('sparrow.conetra.com', 8100) -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Verifying cache -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Waiting for cache verification to finish -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Waiting for cache verification to finish -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) endVerify finishing -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) endVerify finished -- This will tell you that your zeo client is connected to the zeo server However, if I try to log into the ZMI my passwords don't work. I even tried creating an emergencyuser and that didn't work, either. What to do? Also, should I move these other files into the new zeo/var dir? Data.fs.index Data.fs.lockData.fs.old Data.fs.tmp All you need is Data.fs. Data.fs.index will be recreated if it is not found when zope starts Data.fs.old is created when you pack your zodb You can safely ignore the .lock and .tmp files (they are created by Zope as needed) Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO Problem
- Original Message - From: "beno" <[EMAIL PROTECTED]> To: Sent: Saturday, September 02, 2006 9:24 AM Subject: [Zope] ZEO Problem Hi; I'm reading the Plone book. It states that for Zope 2.7 (I have 2.78) ZEO is built in by default but must be instantiated thus: cd /opt/Zope-2/7/bin ./mkzeoinstance /var/zeo or some such code. So I tried this: cd /usr/local/zope/278/bin ./mkzeoinstance.py ../../instance2/var/zeo where 278 is my installation, instance2 is a Zope instance (I have 3), and mkzeoinstance.py is the command that works (mkzeoinstance by itself doesn't print anything to screen other than a command failed message). The Plone book then states that I must move Data.fs into the new /zeo/var dir, which I did. Everything seems to go well. If I start Zope using runzope I get this output at the tail end: -- 2006-09-02T13:15:35 INFO(0) Zope Ready to handle requests In your .../log/events.log file you should see some zeo connection activity, like: 2006-09-02T08:11:17 INFO Zope Ready to handle requests -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) ClientStorage (pid=3196) created RW/normal for storage: '1' -- 2006-09-02T08:11:44 INFO ZEO.cache created temporary cache file '' -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Testing connection -- 2006-09-02T08:11:44 INFO ZEO.zrpc.Connection(C) (194.164.124.4:8100) received handshake 'Z303' -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Server authentication protocol None -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Connected to storage: ('sparrow.conetra.com', 8100) -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Verifying cache -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Waiting for cache verification to finish -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) Waiting for cache verification to finish -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) endVerify finishing -- 2006-09-02T08:11:44 INFO ZEO.ClientStorage (3196) endVerify finished -- This will tell you that your zeo client is connected to the zeo server However, if I try to log into the ZMI my passwords don't work. I even tried creating an emergencyuser and that didn't work, either. What to do? Also, should I move these other files into the new zeo/var dir? Data.fs.index Data.fs.lockData.fs.old Data.fs.tmp All you need is Data.fs. Data.fs.index will be recreated if it is not found when zope starts Data.fs.old is created when you pack your zodb You can safely ignore the .lock and .tmp files (they are created by Zope as needed) Jonathan ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO Problem Clients Waiting
Gerhard Schmidt wrote at 2006-8-8 08:06 +0200: > ... long time commit locks ... >To understand this can you tell me when a transaction is started and when >its closed. Does the Zeo server wait until all data is recieved bevor the >transaction is started or does the transaktion start when the datatransfer >from the appserver starts. The storage lock is set when one of these function is called: "vote", "abortVersion", "commitVersion" and "undo". -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO Problem Clients Waiting
On Mon, Aug 07, 2006 at 09:09:56PM +0200, Dieter Maurer wrote: > Gerhard Schmidt wrote at 2006-8-7 15:54 +0200: > > ... > >2006-08-07T14:29:19 INFO ZEO.StorageServer (97002/10.152.64.23:52518) > >Transaction > >+blocked waiting for storage. Clients waiting: 1. > > ... > >2006-08-07T14:29:50 INFO ZEO.StorageServer (97002/10.152.64.17:54463) > >Blocked transaction restarted. Clients waiting: 1 > >2006-08-07T14:29:50 INFO ZEO.StorageServer (97002/10.152.64.23:52518) > >Blocked transaction restarted. > > > >This one was a very quick one only 30 seconds. I have Blocked Transaktion > >that ware waiting for more than 2 minutes. > > This means that you have very long transactions -- transactions that > take very long to commit. > > ZEO cannot commit two transactions for the same storage at the same time. > Therefore, it sets a storage look when a transaction commit begins for > the storage. > > If another transaction tries to commit to the same storage, the transaction > is blocked until the first transaction commit completes. > That's your "Transaction blocked waiting for storage" > > When the commit is completed, then a waiting transaction is restarted. > That's your "Blocked transaction restarted". > > You should try to understand where the huge transactions come from. > Very often, they are caused by poor persistency design (either far > too huge objects or an immense number of tine objects or just some stupidity > (e.g. writing objects unnecessary). I have benchmarked my Harddisk (which is at the moment an emergency system because of a hardware failure of the main system) it has 40 MB/sec write speed and it doesn't show high io load when we have such a hangup. I have tried to create an object with 50 MB in the storage the ZEO server had no problem with that. calculating this, there has to be an objekt of CD Image size to cause the write to take more then 30 sec. But this whould mean that the Data.fs whould grow at least a 2-3 Gig a Day (we have 5-6 such hangups a day) but it only grows arround 50-100 MB a per Day (difference befor and after Pack) and real growth is 2-10 MB per Day. To the number of tiny objects. I have the zeo.log on debug level. Entries like these seam to be the objekts that are requested to be written. 2006-08-08T07:44:12 DEBUG ZEO.zrpc.Connection(S) (10.152.64.21:50210) calling storea('\x00\x00\x00\x00\x0057\x85', '\x03gZW\x00\xa0\xa1\xcc', '(... I don't see a lot of them bevor a hangup occur. So there are two areas where the Problem could be located. The filesystem of the host system and in the network between the App-Server and the Zeo. To understand this can you tell me when a transaction is started and when its closed. Does the Zeo server wait until all data is recieved bevor the transaction is started or does the transaktion start when the datatransfer from the appserver starts. Bye Estartu Gerhard Schmidt| Nick : estartu IRC : Estartu | Fischbachweg 3 || PGP Public Key 86856 Hiltenfingen | EMail: [EMAIL PROTECTED] | on request Germany|| pgpRboq3a8VZt.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO Problem Clients Waiting
Gerhard Schmidt wrote at 2006-8-7 15:54 +0200: > ... >2006-08-07T14:29:19 INFO ZEO.StorageServer (97002/10.152.64.23:52518) >Transaction >+blocked waiting for storage. Clients waiting: 1. > ... >2006-08-07T14:29:50 INFO ZEO.StorageServer (97002/10.152.64.17:54463) Blocked >transaction restarted. Clients waiting: 1 >2006-08-07T14:29:50 INFO ZEO.StorageServer (97002/10.152.64.23:52518) Blocked >transaction restarted. > >This one was a very quick one only 30 seconds. I have Blocked Transaktion >that ware waiting for more than 2 minutes. This means that you have very long transactions -- transactions that take very long to commit. ZEO cannot commit two transactions for the same storage at the same time. Therefore, it sets a storage look when a transaction commit begins for the storage. If another transaction tries to commit to the same storage, the transaction is blocked until the first transaction commit completes. That's your "Transaction blocked waiting for storage" When the commit is completed, then a waiting transaction is restarted. That's your "Blocked transaction restarted". You should try to understand where the huge transactions come from. Very often, they are caused by poor persistency design (either far too huge objects or an immense number of tine objects or just some stupidity (e.g. writing objects unnecessary). -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo as a Zeo Client
Gerhard Schmidt wrote at 2006-5-3 08:20 +0200: >On Tue, May 02, 2006 at 10:24:29PM +0200, Dieter Maurer wrote: >> Gerhard Schmidt wrote at 2006-5-2 09:52 +0200: >> > ... >> >I try to reduce the load of the line between the backup Computing Center >> >and the Mainsite by having a zeo server as Proxy between the zope server >> >at the backup site an the ZEO at the main site. >> >> You will gain nothing -- as ZEO does not implement a cache >> but forwards any request immediately to the storage. >> Its only task is to synchronize concurrent access to a single >> storage -- nothing else. > >For my primary goal this whould do perfectly. Primarily I whan't the >zeo at backup site just to foward the request to the main site. All >I want is the i have only one place to change the config in case of a >failure at the main site. Nothing more. Everything else whould be nice >to have. But still the even just forwarding does not work right now. Why would you want to use a ZEO server just for this relaying? Would it not be better to use a DNS name which you could remap at a central place (the DNS configuration) in case of problems? Or use a TCP forwarder. A ZEO server is definitely not appropriate just to relay requests. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo as a Zeo Client
Jens Vagelpohl wrote: On 2 May 2006, at 08:52, Gerhard Schmidt wrote: A configuration like that is described in the Zope Book on page 230. I'd like to see that. The proxying you describe is simply not possible, period. He's decribing the dead tree version of the Zope Book. Either Amos or Mike decided to put in some vapourware about how ZEO worked. It is there, I have a copy and can show you if you like... Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo as a Zeo Client
On Tue, May 02, 2006 at 10:24:29PM +0200, Dieter Maurer wrote: > Gerhard Schmidt wrote at 2006-5-2 09:52 +0200: > > ... > >I try to reduce the load of the line between the backup Computing Center > >and the Mainsite by having a zeo server as Proxy between the zope server > >at the backup site an the ZEO at the main site. > > You will gain nothing -- as ZEO does not implement a cache > but forwards any request immediately to the storage. > Its only task is to synchronize concurrent access to a single > storage -- nothing else. For my primary goal this whould do perfectly. Primarily I whan't the zeo at backup site just to foward the request to the main site. All I want is the i have only one place to change the config in case of a failure at the main site. Nothing more. Everything else whould be nice to have. But still the even just forwarding does not work right now. Bye Estartu Gerhard Schmidt| Nick : estartu IRC : Estartu | Fischbachweg 3 || PGP Public Key 86856 Hiltenfingen | EMail: [EMAIL PROTECTED] | on request Germany|| ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo as a Zeo Client
Gerhard Schmidt wrote at 2006-5-2 09:52 +0200: > ... >I try to reduce the load of the line between the backup Computing Center >and the Mainsite by having a zeo server as Proxy between the zope server >at the backup site an the ZEO at the main site. You will gain nothing -- as ZEO does not implement a cache but forwards any request immediately to the storage. Its only task is to synchronize concurrent access to a single storage -- nothing else. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo as a Zeo Client
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 2 May 2006, at 08:52, Gerhard Schmidt wrote: A configuration like that is described in the Zope Book on page 230. I'd like to see that. The proxying you describe is simply not possible, period. As Andreas mentioned, the (commercial) ZRS product from Zope Corp will give the the "hot backup/hot standby" you seem to look for. All "backup" ZEO servers can be accessed by clients, but read-only. jens -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.1 (Darwin) iD8DBQFEVx8IRAx5nvEhZLIRAkqnAJ973dfiJnM68Pw/Cym1pQvG3h7ddACfT6Oj ZEkv3PzqNUlZ2aIrGTSz2fk= =5/6J -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo as a Zeo Client
--On 2. Mai 2006 09:52:57 +0200 Gerhard Schmidt <[EMAIL PROTECTED]> wrote: A configuration like that is described in the Zope Book on page 230. I can not see anything like that in the Zope Book 2.7 edition. As said a ZEO client talks to a *ZEO server* and *not* to another *ZEO client*. Anything else makes no sense. When you're look for HA solution then checkout ZRS (see on zope.com). -aj -- ZOPYX Ltd. & Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany Web: www.zopyx.com - Email: [EMAIL PROTECTED] - Phone +49 - 7071 - 793376 E-Publishing, Python, Zope & Plone development, Consulting pgpPg5u16EitE.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo as a Zeo Client
On Tue, May 02, 2006 at 08:51:12AM +0200, Andreas Jung wrote: > > > --On 2. Mai 2006 08:31:17 +0200 Gerhard Schmidt <[EMAIL PROTECTED]> wrote: > > >Hallo, > > > >I am trying to install a setup like shown below > > > >ZEO_M > > | -- ZEO_B > > | | -- ZOPE > > | | -- ZOPE > > | | -- ZOPE > > | ... > > | -- ZOPE > > | -- ZOPE > > ... > > > > You are trying to create a cascade of multiple ZEO Clients? That looks > very odd. Usually a ZEO client talks directly to a ZEO server. I try to reduce the load of the line between the backup Computing Center and the Mainsite by having a zeo server as Proxy between the zope server at the backup site an the ZEO at the main site. Secound part is that the zeo at the backupsite can easily reconfigured in a normal ZEO when the mainsite is offline. So I don't have to reconfigure all zeoclients at the backupsite. The Data.fs is copied every hour to the backup site so that a have an up to one our backup of the data.fs in case of a desaster at the main site. A configuration like that is described in the Zope Book on page 230. Besides I have found that with a growing number of zeo clients the Zeo server gets slower but neither the CPU nor the Harddisk IO is at the limit. We have a load of 0.2 to 0.3 and disk IO arrond 2-3 MB/sec. We have 12 zeoclients at the moment and 12 more are planed for the backup site. Regards Estartu Gerhard Schmidt| Nick : estartu IRC : Estartu | Fischbachweg 3 || PGP Public Key 86856 Hiltenfingen | EMail: [EMAIL PROTECTED] | on request Germany|| ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Zeo as a Zeo Client
--On 2. Mai 2006 08:31:17 +0200 Gerhard Schmidt <[EMAIL PROTECTED]> wrote: Hallo, I am trying to install a setup like shown below ZEO_M | -- ZEO_B | | -- ZOPE | | -- ZOPE | | -- ZOPE | ... | -- ZOPE | -- ZOPE ... You are trying to create a cascade of multiple ZEO Clients? That looks very odd. Usually a ZEO client talks directly to a ZEO server. -aj -- ZOPYX Ltd. & Co. KG - Charlottenstr. 37/1 - 72070 Tübingen - Germany Web: www.zopyx.com - Email: [EMAIL PROTECTED] - Phone +49 - 7071 - 793376 E-Publishing, Python, Zope & Plone development, Consulting pgpNFM1rW1QOH.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO disconnects, Zope auto restarts (via zopectl)
On Feb 3, 2006, at 1:06 PM, Paul Winkler wrote: If I were in your shoes the first thing I'd do is bump up the log levels on both zope and zeo to BLATHER. Adds overhead I know, but you need to find the problem somehow... it's a weird one, I've never seen zope restart "for no reason". This can be a symptom of a segfault if you've got zope running under a daemon manager like "zopectl/zdaemon/supervisord". - C ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO disconnects, Zope auto restarts (via zopectl)
On Fri, Feb 03, 2006 at 08:35:11AM -0800, Dennis Allison wrote: > Timing correlates to the second. Zope and ZEO live on the > same physical box. OK. Do you have more than one ZEO client? If not, I'd reevaluate whether you need ZEO at all. (It's great for zopectl debug on a live system, but otherwise it does nothing but add overhead if you're not using it to run multiple Zopes. But you probably knew that.) > I doubt if I am hitting a limit. The box has nearly 8GB of > memory most of which (6GB) is used by linux as a cache. > No messages in the logs. OK. It should be pretty obvious if you were hitting a limit. I don't think it's possible on linux to run out of memory without the kernel complaining somewhere in /var/log. > > Unrelated to your problem, and maybe you know this, but depending on the > > size of your storage, I'd consider increasing the zeo client cache size. > > It's a disk cache and you can safely make it huge. But if you don't see > > "cache flipping" messages in your event log, it may not matter. > > > Done, but I cannot report on the effect. Well, as I said, it's very unlikely to have any impact on your problem. If I were in your shoes the first thing I'd do is bump up the log levels on both zope and zeo to BLATHER. Adds overhead I know, but you need to find the problem somehow... it's a weird one, I've never seen zope restart "for no reason". -- Paul Winkler http://www.slinkp.com ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO disconnects, Zope auto restarts (via zopectl)
Paul, Thanks for the assist. Comments on your comments interlinearly below. I have increased cache and other resources to see what the impact will be. On Fri, 3 Feb 2006, Paul Winkler wrote: > On Fri, Feb 03, 2006 at 01:00:45AM -0800, Dennis Allison wrote: > > > > Zope 2.9.0 > > > > We are seeing spontaneous restarts of Zope with no indication in any of > > the standard Zope logs. Looking at the ZEO log indicates that the > > restarts of Zope are due to a lost connection between Zope & ZEO but > > with no other information. The logging level is set at the distribution > > default (INFO). > > Are you *sure* that is the cause, rather than the effect? No, I am not and there's nothing in the logs which hints at why it restarted. We are running under load. The failures are silent. We do have a fairly high rate of conflict errors (which all get resolved finally!). > > If zope restarts for any reason, I'd expect the zeo log to > show a disconnect and reconnect as a result. > > Check the clocks on your zope and zeo boxes and make sure the timing of > events in your logs is really what you think it is. (Systems that > aren't running ntpd are the bane of my existence...) Timing correlates to the second. Zope and ZEO live on the same physical box. > > Wild guess: Any chance your Zope process is running out of > memory? I've had that on several occasions, when some > naively-written software attempts to do something huge in > memory that should really use a temp file on disk. > (Zope itself used to have some code like that in the FTP > server, don't know if it still does.) > I doubt if I am hitting a limit. The box has nearly 8GB of memory most of which (6GB) is used by linux as a cache. No messages in the logs. > I discovered this by looking in /var/log/messages. > At least on linux, the kernel will log something there > when it kills a process that consumes all available memory. > > > We are running a fairly vanilla setup, excerpted below: > > [snip...] > > Unrelated to your problem, and maybe you know this, but depending on the > size of your storage, I'd consider increasing the zeo client cache size. > It's a disk cache and you can safely make it huge. But if you don't see > "cache flipping" messages in your event log, it may not matter. > Done, but I cannot report on the effect. ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO disconnects, Zope auto restarts (via zopectl)
On Fri, Feb 03, 2006 at 01:00:45AM -0800, Dennis Allison wrote: > > Zope 2.9.0 > > We are seeing spontaneous restarts of Zope with no indication in any of > the standard Zope logs. Looking at the ZEO log indicates that the > restarts of Zope are due to a lost connection between Zope & ZEO but > with no other information. The logging level is set at the distribution > default (INFO). Are you *sure* that is the cause, rather than the effect? If zope restarts for any reason, I'd expect the zeo log to show a disconnect and reconnect as a result. Check the clocks on your zope and zeo boxes and make sure the timing of events in your logs is really what you think it is. (Systems that aren't running ntpd are the bane of my existence...) Wild guess: Any chance your Zope process is running out of memory? I've had that on several occasions, when some naively-written software attempts to do something huge in memory that should really use a temp file on disk. (Zope itself used to have some code like that in the FTP server, don't know if it still does.) I discovered this by looking in /var/log/messages. At least on linux, the kernel will log something there when it kills a process that consumes all available memory. > We are running a fairly vanilla setup, excerpted below: > > <> > # ZEO client storage: > # > > mount-point / > # ZODB cache, in number of objects > cache-size 5000 > > server localhost:8301 > storage 1 > var $INSTANCE/var > # ZEO client cache, in bytes > cache-size 20MB Unrelated to your problem, and maybe you know this, but depending on the size of your storage, I'd consider increasing the zeo client cache size. It's a disk cache and you can safely make it huge. But if you don't see "cache flipping" messages in your event log, it may not matter. > # Uncomment to have a persistent disk cache > client group1-zeo > > > > <> > > address localhost:8301 > read-only false > invalidation-queue-size 100 > pid-filename $INSTANCE/var/ZEO.pid > # monitor-address PORT > # transaction-timeout SECONDS > > > > program $INSTANCE/bin/runzeo > socket-name $INSTANCE/etc/zeo.zdsock > daemon true > forever false > backoff-limit 10 > exit-codes 0, 2 > directory $INSTANCE > default-to-interactive true > # user zope > python /usr/bin/python2.4 > zdrun /usr/local/src/zope/Zope2.9/lib64/python/zdaemon/zdrun.py > > # This logfile should match the one in the zeo.conf file. > # It is used by zdctl's logtail command, zdrun/zdctl doesn't write it. > logfile $INSTANCE/log/zeo.log > > > It's not clear what changes will lead to a more stable connection because > it is not clear what's triggering the problem. Any advice would be > appreciated. > > Presumably the shotgun approach would work -- increase the cache sizes, > lengthen the invalidation-queue-size, and increase the backoff-limit but > it would be nice to have some guidance. > > 5~ > > > ___ > Zope maillist - Zope@zope.org > http://mail.zope.org/mailman/listinfo/zope > ** No cross posts or HTML encoding! ** > (Related lists - > http://mail.zope.org/mailman/listinfo/zope-announce > http://mail.zope.org/mailman/listinfo/zope-dev ) -- Paul Winkler http://www.slinkp.com ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
RE: [Zope] ZEO client authentication
Thanks! Works great. I found that you can generate the encrypted password with Lib/python/ZEO/zeopasswd.py I wish there was a better solution than having the cleartext password in the zope.conf file Dave -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Sascha Ottolski Sent: Monday, October 03, 2005 11:40 AM To: zope@zope.org Subject: Re: [Zope] ZEO client authentication Am Montag, 3. Oktober 2005 14:44 schrieb Mika, David P (Research): > I see that ZEO supports a simple digest authenitcation of clients and that > this is set in the zeo's config file with the keys: > authentication-protocol, authentication-database and authentication-realm. > > Further, I can see that a client can connect using e.g. ZEO.ClientStorage > with arguments for a userid & password (set in the ZEO authentication > database). However, how does one configure Zope (as a client to the ZEO > server) to use this authentication? I see nothing in the Zope config file. > Somehow Zope must be able to pass a valid userid and password in the > authentication database to ZEO. > > Dave Hi Dave, this might help, although it's not written by me so I'm not 100% sure that I've picked up everything: small patch to lib/python/ZODB: --- config.py(revision 37730) +++ config.py(working copy) @@ -150,7 +150,10 @@ max_disconnect_poll=self.config.max_disconnect_poll, wait=self.config.wait, read_only=self.config.read_only, -read_only_fallback=self.config.read_only_fallback) +read_only_fallback=self.config.read_only_fallback, +username=self.config.username, +password=self.config.password, +realm=self.config.realm) class BDBStorage(BaseConfig): Index: component.xml === --- component.xml(revision 37730) +++ component.xml(working copy) @@ -132,6 +132,16 @@ read_only_fallback should be true. + + +The authentication username of the server. + + + + +The authentication password of the server. + + The authentication realm of the server. Some authentication something like this in your zeo.conf section: ... authentication-protocol digest authentication-database $INSTANCE/etc/auth.db authentication-realm your_realm ... obviously, a username/password in $INSTANCE/etc/auth.db (ZEO instance, that is): $ cat /mnt/zope/ZEOHome/etc/auth.db realm your_realm your_username: your_crypted_password and something like this in your zope.conf: mount-point / cache-size 1 server localhost:1234 username your_username password your_cleartext_password ... ... now, I'm not sure how to create the encrypted password, I guess zpasswd.py will help. Good luck, Sascha -- Gallileus - the power of knowledge Gallileus GmbH http://www.gallileus.info/ Pintschstraße 16 fon +49-(0)30-41 93 43 43 10249 Berlin fax +49-(0)30-41 93 43 45 Germany ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev ) ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO client authentication
Mika, David P (Research) wrote: I see that ZEO supports a simple digest authenitcation of clients and that this is set in the zeo's config file with the keys: authentication-protocol, authentication-database and authentication-realm. Further, I can see that a client can connect using e.g. ZEO.ClientStorage with arguments for a userid & password (set in the ZEO authentication database). However, how does one configure Zope (as a client to the ZEO server) to use this authentication? I see nothing in the Zope config file. Somehow Zope must be able to pass a valid userid and password in the authentication database to ZEO. The best place to ask these questions is the zodb-dev@zope.org mailing list... cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO client authentication
Am Montag, 3. Oktober 2005 14:44 schrieb Mika, David P (Research): > I see that ZEO supports a simple digest authenitcation of clients and that > this is set in the zeo's config file with the keys: > authentication-protocol, authentication-database and authentication-realm. > > Further, I can see that a client can connect using e.g. ZEO.ClientStorage > with arguments for a userid & password (set in the ZEO authentication > database). However, how does one configure Zope (as a client to the ZEO > server) to use this authentication? I see nothing in the Zope config file. > Somehow Zope must be able to pass a valid userid and password in the > authentication database to ZEO. > > Dave Hi Dave, this might help, although it's not written by me so I'm not 100% sure that I've picked up everything: small patch to lib/python/ZODB: --- config.py(revision 37730) +++ config.py(working copy) @@ -150,7 +150,10 @@ max_disconnect_poll=self.config.max_disconnect_poll, wait=self.config.wait, read_only=self.config.read_only, -read_only_fallback=self.config.read_only_fallback) +read_only_fallback=self.config.read_only_fallback, +username=self.config.username, +password=self.config.password, +realm=self.config.realm) class BDBStorage(BaseConfig): Index: component.xml === --- component.xml(revision 37730) +++ component.xml(working copy) @@ -132,6 +132,16 @@ read_only_fallback should be true. + + +The authentication username of the server. + + + + +The authentication password of the server. + + The authentication realm of the server. Some authentication something like this in your zeo.conf section: ... authentication-protocol digest authentication-database $INSTANCE/etc/auth.db authentication-realm your_realm ... obviously, a username/password in $INSTANCE/etc/auth.db (ZEO instance, that is): $ cat /mnt/zope/ZEOHome/etc/auth.db realm your_realm your_username: your_crypted_password and something like this in your zope.conf: mount-point / cache-size 1 server localhost:1234 username your_username password your_cleartext_password ... ... now, I'm not sure how to create the encrypted password, I guess zpasswd.py will help. Good luck, Sascha -- Gallileus - the power of knowledge Gallileus GmbH http://www.gallileus.info/ Pintschstraße 16 fon +49-(0)30-41 93 43 43 10249 Berlin fax +49-(0)30-41 93 43 45 Germany ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO clients eating up / filesystem
On Fri, Sep 30, 2005 at 02:13:34PM +0200, Andreas Jung wrote: > Perhaps your FS grows because ZEO write the cache files to /tmp (which is > on your root filesystem)? No I checked that. Nothing in /tmp (and that would have been listed by lsof) -- __ "Nothing is as subjective as reality" Reinoud van Leeuwen[EMAIL PROTECTED] http://www.xs4all.nl/~reinoud __ ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO clients eating up / filesystem
Perhaps your FS grows because ZEO write the cache files to /tmp (which is on your root filesystem)? -aj --On 30. September 2005 14:06:16 +0200 Reinoud van Leeuwen <[EMAIL PROTECTED]> wrote: Hi, We have a ZEO setup with a Plone based intranet, and for some reason it seems that Zope is filling up space in the root filesystem. I have to restart Zope twice a day to clear it up (restarting Zope clears up the space). lsof does not list anything open in the root filesystem and swapping is done in the swap partition. Has anyone observed the same and found a solution? System details: - FreeBSD 4.10-RELEASE - Pyhton 2.3.4 - Zope 2.7.3 - SOFTWARE_HOME /usr/local/zope/lib/python - ZOPE_HOME /usr/local/zope - INSTANCE_HOME /usr/local/WWW/intranet/zeo_client1 (2 CPU FreeBSD machines running two ZEO instances) FilesystemSize Used Avail Capacity Mounted on /dev/da0s1a 1032M 207M 742M22%/ /dev/da0s1e 4.1G 519M 3.3G14%/usr /dev/da0s1g 133G 1.3G 121G 1%/usr/local /dev/da0s1f 4.1G53M 3.7G 1%/var procfs4.1K 4.1K 0B 100%/proc This is the zope startup script in /usr/local/etc/rc.d # !/bin/sh # Start or stop zope # $FreeBSD: ports/www/zope/files/zope.sh,v 1.4 2004/11/16 00:02:25 pav Exp # $ PROVIDE: zope # REQUIRE: DAEMON # BEFORE: LOGIN # KEYWORD: FreeBSD shutdown # prefix=/usr/local # Define these zope_* variables in one of these files: # /etc/rc.conf # /etc/rc.conf.local # /etc/rc.conf.d/zope # # DO NOT CHANGE THESE DEFAULT VALUES HERE # zope_enable=${zope_enable:-"NO"}# Enable gkrellmd zope_instances=${zope_instances:-""}# List of instancehome dirs . /usr/local/etc/rc.subr name="zope" rcvar=`set_rcvar` load_rc_config $name if checkyesno zope_enable; then case "$1" in start) echo "Starting Zope" ;; stop) echo "Stopping Zope" ;; restart) echo "Restarting Zope" ;; *) echo "Unknown action \"$1\"" ;; esac last_zope_instance=`echo $zope_instances | /usr/bin/awk {'print $NF'}` for instance in $zope_instances do if [ -r ${instance}/etc/${name}.conf -a -x ${instance}/bin/zopectl ]; then echo -n " Instance ${instance} -> " ${instance}/bin/zopectl $1 if [ $instance != $last_zope_instance ]; then echo "sleeping 40 seconds between instances to prevent read conflict errors during startup" sleep 40 fi fi done fi -- __ "Nothing is as subjective as reality" Reinoud van Leeuwen[EMAIL PROTECTED] http://www.xs4all.nl/~reinoud __ ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev ) pgpWHYIAYCz4Y.pgp Description: PGP signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO on Windows
michael nt milne wrote: Hi Does anyone know if the 2.0.5 windows release of Plone includes ZEO? Ask on a Plone list. Is there any configuration information on this? Dunno what you mean. Also does Zope 2.8 for linux have ZEO as standard. Yes. Finally, if you don't run ZEO does this mean that Zope can only handle one request at a time? No. Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO on Windows
[michael nt milne] > ... > Also does Zope 2.8 for linux have ZEO as standard. All versions of Zope at and after 2.7 include ZEO, and regardless of platform (Linux, Windows, Solaris, ..., doesn't matter). ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO on Windows
michael nt milne wrote at 2005-8-24 11:52 +0100: > Does anyone know if the 2.0.5 windows release of Plone includes ZEO? Do you have installed it? Then see whether the "Zope" part contains the folder "ZEO" (usually in "lib/python"). If it does, then it contains "ZEO". >Also does Zope 2.8 for linux >have ZEO as standard. Yes, I think so. Again: install and check whether the "ZEO" part is there. > Finally, if you don't run ZEO does this mean that Zope can only handle one >request at a time? No. It only does mean that a single process can access your ZODB data. A standard Zope process has 4 worker threads that can execute requests in parallel. Note, however, that even when you run on a multi-processor maschine, the various Python threads may not be able to truely run in parallel (a single process allows only a single thread to execute Python code; other threads may wait on something external or execute non Python (e.g. C) code, but they cannot execute Python code truely in parallel). -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
[Dieter Maurer] > There is one essential thing you stress over and over again -- but > which I am not sure: > > You say, the exception in "tearDown" means that > the test completed successfully -- without any error. Oh no, that's not what I'm saying. As you say next, > However, I am convinced that "tearDown" is called, too, > when the test fails. That's right, it does. What I said is that _if_ the only listing of errors/failures we've seen here was in fact an exhaustive list of all the errors/failures that were seen in that run, _then_ we can deduce that the tests passed. That's simply because if a test body failed, that would have produced an _additional_ error/failure report. But every one of the error/failure output blocks in the message showing them was the same waitpid() complaint, reached from tearDown(). Assuming this was an exhaustive listing, there were no error/failure reports of any kind stemming from test setup or test body code, only from test teardown code. So it's not that I saw an error in tearDown() that causes me to believe "the tests passed", it's that we haven't seen any errors/failures _other_ than tearDown() errors. Willi was later kind enough to include what looked like a screen scrape of an entire test run, and I think we can be sure of that there: """ Running one single test: bender:~/Zope-2.7.7-final$ python2.3 test.py testConnection checkNoVerificationOnServerRestart\$ Running unit tests from /home/wlang/Zope-2.7.7-final/lib/python == ERROR: checkNoVerificationOnServerRestart (ZEO.tests.testConnection.FileStorageReconnectionTests) -- Traceback (most recent call last): File "/home/wlang/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes -- Ran 1 test in 0.689s FAILED (errors=1) """ If the setup code or body of checkNoVerificationOnServerRestart had something to complain about too, I would expect to see an additional blob of ERROR or FAILURE output. The ConnectionTests.py code that starts a ZEO server process doesn't swallow exceptions, and simply cannot add the pid returned from spawnve() to its list of tids to wait for later unless ZEO/tests/forker.py's start_zeo_server() returns normally. > I did not point this out earlier, because you are probably right. > > If the test itself had failed, we should probably have seen > a previous exception and a "pid" cannot be registered for > later clean up before it was created. As above, yes. > Looks as if there were something that eats the dead child before > the "waitpid" could take care of it. Yup. > I know that a SIGCHLD/SIG_IGN can do that > or a "waitpid(pid)" with "pid <= 0". > > If for some reason, a value "<= 0" happened to arrive in the > list of processes to be cleaned up, then this could explain > the strange non-deterministic behaviour. Perhaps they can add some print statements or asserts then, to test that possibility. From the Python docs: If pid is 0, the request is for the status of any child in the process group of the current process. If pid is -1, the request pertains to any child of the current process. If pid is less than -1, status is requested for any process in the process group -pid (the absolute value of pid). If the OS happens to return a pid "with the sign bit set", I'm not sure whether the Python implementation of all this stuff would manage to do "the right thing". Python's waitpid() wrapper definitely treats the pid as a native signed C int, not as being of type pid_t. OTOH, pid_t isn't part of standard C, it's a Unix thing, and I believe pid_t _is_ C int in glibc. If so, then a pid "with the sign bit set" is simply impossible to use in a call to waitpid(), so it would be an OS bug if it ever returned a pid with the sign bit set. ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
Hi Tim, Tim Peters wrote at 2005-8-19 11:15 -0400: > ... >"The tests are dodgy" sounds >appealing until you think about what they do related to the point of >failure: spawn a process, and wait for it to exit later, passing >waitpid() the pid returned by spawnve(). There just isn't anything >complicated (at the Python level) going on there. There is one essential thing you stress over and over again -- but which I am not sure: You say, the exception in "tearDown" means that the test completed successfully -- without any error. However, I am convinced that "tearDown" is called, too, when the test fails. I did not point this out earlier, because you are probably right. If the test itself had failed, we should probably have seen a previous exception and a "pid" cannot be registered for later clean up before it was created. Looks as if there were something that eats the dead child before the "waitpid" could take care of it. I know that a SIGCHLD/SIG_IGN can do that or a "waitpid(pid)" with "pid <= 0". If for some reason, a value "<= 0" happened to arrive in the list of processes to be cleaned up, then this could explain the strange non-deterministic behaviour. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
Tim Peters wrote at 2005-8-18 17:16 -0400: > ... >I'm not sure Dieter's info is current either. The SIGCHLD handler in >current Zope 2.7.7's zopectl.py explicitly catches and ignores the >specific exception you reported: Good! Something like that I did for our Zope 2.7.2. > ... >But looks like Dieter added that code to begin with, so hard to >believe he forgot about it ;-) Sometimes, changes by me happen to land in in the core distribution either via the Zope collector or because Andreas put them in there. In both case, I do not necessarily know about that. I have not (yet) modified directly core Zope code. Maybe, in the near future... -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
[Willi Langenberger] >> Interesstingly, if i run the test with strace, i never see the test >> fail (i tried at least 30 times): [Jens Vagelpohl] > This sounds like something Tim had mentioned at one point, where > tests can fail on a machine that is "too fast"? Dieter said that. I believe him, but it doesn't match my experience. Then again, I spend most of my time on Windows boxes, where process creation is so much slower (than on Linux) that Dieter can't even imagine that many orders of magnitude . Andres Krasa reported that his tests were running on an Intel Xeon 3 GHz Dual-CPU box. Does nobody else here run on a Linux box that fast? I normally run tests on a 3.4 GHz hyperthreaded box, but it _is_ running WinXP instead, and the spawnve and waitpid implementations on Windows have nothing in common with their Linux implementations (e.g., most Unix signals, including SIGCHLD, don't exist on Windows -- the OSes have very different ways of managing processes). > Both with strace and the debugger you "slowed the test down" a bit, and > they pass. Maybe that's a clue, basically pointing to the fact that the tests > are > dodgy rather than the software? Trying to come up with a small, self-contained test case remains (IMO) the best way to make progress here. "The tests are dodgy" sounds appealing until you think about what they do related to the point of failure: spawn a process, and wait for it to exit later, passing waitpid() the pid returned by spawnve(). There just isn't anything complicated (at the Python level) going on there. ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
[Willi Langenberger] > Ok, here some data points... > > bender:~/Zope-2.7.7-final$ cat /proc/version > Linux version 2.6.9-11.ELsmp ([EMAIL PROTECTED]) (gcc version 3.4.3 20050227 > (Red Hat 3.4.3-22)) #1 SMP Fri May 20 18:26:27 EDT 2005 > > bender:~/Zope-2.7.7-final$ python2.3 > Python 2.3.5 (#1, Apr 19 2005, 14:53:39) > [GCC 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)] on linux2 > ... > > Running one single test: > > bender:~/Zope-2.7.7-final$ python2.3 test.py testConnection > checkNoVerificationOnServerRestart\$ > Running unit tests from /home/wlang/Zope-2.7.7-final/lib/python > == > ERROR: checkNoVerificationOnServerRestart > (ZEO.tests.testConnection.FileStorageReconnectionTests) > -- > Traceback (most recent call last): >File > "/home/wlang/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line > 121, in tearDown > os.waitpid(pid, 0) > OSError: [Errno 10] No child processes > > -- > Ran 1 test in 0.689s > > FAILED (errors=1) > > After some retries, the same test passes: > > bender:~/Zope-2.7.7-final$ python2.3 test.py testConnection > checkNoVerificationOnServerRestart\$ > Running unit tests from /home/wlang/Zope-2.7.7-final/lib/python > -- > Ran 1 test in 0.691s > > OK > > Interesstingly, if i run the test with strace, i never see the test > fail (i tried at least 30 times): > > bender:~/Zope-2.7.7-final$ strace -e trace=signal -o /var/tmp/zeotest.trc > python2.3 test.py testConnection checkNoVerificationOnServerRestart\$ > Running unit tests from /home/wlang/Zope-2.7.7-final/lib/python > -- > Ran 1 test in 0.710s > > OK > > (Obviously a Heisenberg effect -- the observation influences the > behaviour ;-) Not unusual, alas. What's more peculiar is that nobody else on this list reports the same problem. Then again, we have no way to know whether anyone other than Jens and I _tried_ to ;-) > If anyone is interessted in the trace file -- it can be found at: > > http://slime.wu-wien.ac.at/misc/zeotest.trc > > (However, it would be way more interessting to see the syscalls while > the test is failing...) Someone more up-to-date than I on the vagaries of Linux signals and strace might be able to deduce something from that about how SIGCHLD is treated by this OS. AFAICT, the SIGCHLD handler was set to SIG_DFL shortly after Python started, and wasn't fiddled with again. I don't know the exact intended meaning of every character in the: --- SIGCHLD (Child exited) @ 0 (0) --- lines near the end of the trace either. > Also, i debugged the whole test with the python debugger. Unfortunatly > (as with strace), i was not able to reproduce the failing of the test > in the debugger. [Tim] >> the ZEO tests spawn processes directly via Python's >> os.spawnve(), and later waits for them to end, via the waitpid() code >> shown earlier. It doesn't muck around with signals, forks, or >> anything else that should be platform-dependent (the same ZEO-test >> process code is used on both Linux and Windows, BTW -- for this >> reason, it can't rely on any fancy signal or process gimmicks; >> spawnve+watipid is the entire story here). > Yes, its as simple as that: zeo ist started, zeo is stopped, and when > the parent calls waitpid, we get the "No child processes" error most of > the time :-( > > Any ideas what we can try to narrow this down? Whittle it down. If I had a box on which I saw the problem, the next thing I'd try is writing a tiny Python program that did nothing other than spawn a simple process and then wait for it finish. So far, there's no particular reason to believe that the mountain of Zope/ZODB/ZEO code really has anything to do with this, right? The outcome of trying to remove all that from the equation would suggest a next step. ... > Sure -- we could just make this change: > > bender:.../ZEO/tests$ diff ConnectionTests.py.ori ConnectionTests.py > 121c121,124 > < os.waitpid(pid, 0) > --- > > try: > > os.waitpid(pid, 0) > > except OSError: > > pass > > then all tests will pass. That should be verified (by actually trying it). For one thing, I count 8 instances of "os.waitpid(pid, 0)" in the Zope-2_7-branch branch, and it would be surprising if the other 7 always worked on your box, right? ;-) > But then we will not know why the zeo zombie vanishes before > the waitpid can reap the exit code ;-) Right, it would be papering over a symptom, leaving the cause unknown. If you find that expedient in your installation, that's fine, it's a key advantage of open source that you can worm around problems on your o
Re: [Zope] ZEO troubles on RedHat EL4 Linux
On 19 Aug 2005, at 02:22, Willi Langenberger wrote: According to Interesstingly, if i run the test with strace, i never see the test fail (i tried at least 30 times): This sounds like something Tim had mentioned at one point, where tests can fail on a machine that is "too fast"? Both with strace and the debugger you "slowed the test down" a bit, and they pass. Maybe that's a clue, basically pointing to the fact that the tests are dodgy rather than the software? jens ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
According to Tim Peters: > I don't know. Dieter asked whether you ran the tests via "zopectl > test", but I didn't see an answer to that. Ok, here some data points... bender:~/Zope-2.7.7-final$ cat /proc/version Linux version 2.6.9-11.ELsmp ([EMAIL PROTECTED]) (gcc version 3.4.3 20050227 (Red Hat 3.4.3-22)) #1 SMP Fri May 20 18:26:27 EDT 2005 bender:~/Zope-2.7.7-final$ python2.3 Python 2.3.5 (#1, Apr 19 2005, 14:53:39) [GCC 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. Running one single test: bender:~/Zope-2.7.7-final$ python2.3 test.py testConnection checkNoVerificationOnServerRestart\$ Running unit tests from /home/wlang/Zope-2.7.7-final/lib/python == ERROR: checkNoVerificationOnServerRestart (ZEO.tests.testConnection.FileStorageReconnectionTests) -- Traceback (most recent call last): File "/home/wlang/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes -- Ran 1 test in 0.689s FAILED (errors=1) After some retries, the same test passes: bender:~/Zope-2.7.7-final$ python2.3 test.py testConnection checkNoVerificationOnServerRestart\$ Running unit tests from /home/wlang/Zope-2.7.7-final/lib/python -- Ran 1 test in 0.691s OK Interesstingly, if i run the test with strace, i never see the test fail (i tried at least 30 times): bender:~/Zope-2.7.7-final$ strace -e trace=signal -o /var/tmp/zeotest.trc python2.3 test.py testConnection checkNoVerificationOnServerRestart\$ Running unit tests from /home/wlang/Zope-2.7.7-final/lib/python -- Ran 1 test in 0.710s OK (Obviously a Heisenberg effect -- the observation influences the behaviour ;-) If anyone is interessted in the trace file -- it can be found at: http://slime.wu-wien.ac.at/misc/zeotest.trc (However, it would be way more interessting to see the syscalls while the test is failing...) Also, i debugged the whole test with the python debugger. Unfortunatly (as with strace), i was not able to reproduce the failing of the test in the debugger. > the ZEO tests spawn processes directly via Python's > os.spawnve(), and later waits for them to end, via the waitpid() code > shown earlier. It doesn't muck around with signals, forks, or > anything else that should be platform-dependent (the same ZEO-test > process code is used on both Linux and Windows, BTW -- for this > reason, it can't rely on any fancy signal or process gimmicks; > spawnve+watipid is the entire story here). Yes, its as simple as that: zeo ist started, zeo is stopped, and when the parent calls waitpid, we get the "No child processes" error most of the time :-( Any ideas what we can try to narrow this down? > All the failures you showed were in test teardown. If that's all the > failures you got, then all the test bodies actually passed. Of course > you have to be wary that normal methods of detecting child-process > termination aren't working as hoped on this box, because all the test > failures you reported were exactly failures to detect child-process > termination. Sure -- we could just make this change: bender:.../ZEO/tests$ diff ConnectionTests.py.ori ConnectionTests.py 121c121,124 < os.waitpid(pid, 0) --- > try: > os.waitpid(pid, 0) > except OSError: > pass then all tests will pass. But then we will not know why the zeo zombie vanishes before the waitpid can reap the exit code ;-) \wlang{} PS: i'am afraid it turns out to be a python thread / signals / race problem -- yuck! -- [EMAIL PROTECTED]Fax: +43/1/31336/9207 Zentrum fuer Informatikdienste, Wirtschaftsuniversitaet Wien, Austria ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
[Andreas Krasa] > ... > As I understood Dieter's mail, this strange behavior is caused by the > way RedHat Enterprise Linux 4 system libraries handle SIG_IGN/SIGCHLD. I don't know. Dieter asked whether you ran the tests via "zopectl test", but I didn't see an answer to that. If you run the Zope tests directly ("python test.py"), then the ZODB/ZEO tests never touch the OS's default handler for SIGCHLD; if you do use zopectl, zopectl.py _does_ set its own handler for SIGCHLD. I'm not sure Dieter's info is current either. The SIGCHLD handler in current Zope 2.7.7's zopectl.py explicitly catches and ignores the specific exception you reported: def _ignoreSIGCHLD(*unused): while 1: try: os.waitpid(-1, os.WNOHANG) except OSError: break ... signal.signal(signal.SIGCHLD, _ignoreSIGCHLD) But looks like Dieter added that code to begin with, so hard to believe he forgot about it ;-) > If this problem was due to some improper Zope methods, most people would > have this sort of problems. Which is not the case. That makes me believe > that the failure of ZEO tests actually is caused by some uncommon or > improper implementation of those two handles - which, in my opinion, > makes it something RedHat should take a look at. I don't believe anyone at this point knows why you're seeing this problem; the best way to make progress is to whittle it down to a small, small-contained test case. "Some ZEO tests fail sometimes" still involves mountains of code, including everything from the OS kernel to hundreds of .py files. The ZEO test process setup isn't anywhere near as complicated as zopectl, or as anything relying on zdaemon: the ZEO tests spawn processes directly via Python's os.spawnve(), and later waits for them to end, via the waitpid() code shown earlier. It doesn't muck around with signals, forks, or anything else that should be platform-dependent (the same ZEO-test process code is used on both Linux and Windows, BTW -- for this reason, it can't rely on any fancy signal or process gimmicks; spawnve+watipid is the entire story here). > ... > Anyway - how severe are those testing failures for actually USING a ZEO > client/server on that particular OS as a production system? All the failures you showed were in test teardown. If that's all the failures you got, then all the test bodies actually passed. Of course you have to be wary that normal methods of detecting child-process termination aren't working as hoped on this box, because all the test failures you reported were exactly failures to detect child-process termination. I don't know how much of that Zope does, but can say ZODB/ZEO never does that in normal operation (spawning multiple processes, in ZODB+ZEO, is unique to the testing code; a ZEO server is a single process, and doesn't spawn other process while it's running). ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
Andreas Krasa // WUW wrote at 2005-8-18 08:50 +0200: > ... >Btw. since this also happens on 5 other machines - all natively >installed with RHEL4 - there actually might really be something wrong >within the OS. > >Is that worth submitting a bug to RedHat? Or is ist more like a >"feature"? ;) The Linux documentation explicitly mentions that it is not defined whether or not an ignored SIGCHLD is inherited by child processes. Thus, the Redhat behaviour at least conforms to the documention. I would not call it a bug (also I had to change Zope code, to get rid of the nasty side effects). -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
On 18 Aug 2005, at 11:00, Andreas Krasa // WUW wrote: As I understood Dieter's mail, this strange behavior is caused by the way RedHat Enterprise Linux 4 system libraries handle SIG_IGN/SIGCHLD. That makes me wonder why it does not happen on my CentOS 4 box. CentOS 4 is compiled from RHEL4 SRPMs with only very minor changes, mostly to remove copyrighted RedHat logos and names. Anyway - how severe are those testing failures for actually USING a ZEO client/server on that particular OS as a production system? I personally would not trust a system for production where the unit tests don't run until it's proven that the unit tests themselves are dodgy, or whatever else caused it is fixed. jens ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
Jens Vagelpohl schrieb: > On 18 Aug 2005, at 07:50, Andreas Krasa // WUW wrote: > >> Is that worth submitting a bug to RedHat? Or is ist more like a >> "feature"? ;) > > > Why would RedHat care? They will just throw it back at you and say > "sorry, Zope is not one of our supported packages". > > By the way, I hope you are not running Zope on the system-installed > Python? If you do, then change your setups to build and install your > own Python just for Zope and test again. > > jens Hi Jens, no, we've rebuilt python (2.3.5) from sources, and, as our main Zope product Silva requires this, also libxml2 and libxslt (of course with pointing to our own python). This stuff all resides in /usr/local. We've compiled Zope pointing to /usr/local/bin/python23, so I guess that RedHat's own python RPM does not interfere with Zope, at least I hope so. As I understood Dieter's mail, this strange behavior is caused by the way RedHat Enterprise Linux 4 system libraries handle SIG_IGN/SIGCHLD. If this problem was due to some improper Zope methods, most people would have this sort of problems. Which is not the case. That makes me believe that the failure of ZEO tests actually is caused by some uncommon or improper implementation of those two handles - which, in my opinion, makes it something RedHat should take a look at. Anyway - how severe are those testing failures for actually USING a ZEO client/server on that particular OS as a production system? Cheers, Andreas ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
On 18 Aug 2005, at 07:50, Andreas Krasa // WUW wrote: Is that worth submitting a bug to RedHat? Or is ist more like a "feature"? ;) Why would RedHat care? They will just throw it back at you and say "sorry, Zope is not one of our supported packages". By the way, I hope you are not running Zope on the system-installed Python? If you do, then change your setups to build and install your own Python just for Zope and test again. jens smime.p7s Description: S/MIME cryptographic signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
Dieter Maurer schrieb: > Andreas Krasa // WUW wrote at 2005-8-16 18:37 +0200: > >>... >>== >>ERROR: checkMultipleAddresses >>(ZEO.tests.testConnection.MappingStorageConnectionTests) >>-- >>Traceback (most recent call last): >> File >>"/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", >>line 121, in tearDown >> os.waitpid(pid, 0) >>OSError: [Errno 10] No child processes > > > I have seen similar errors happening non deterministically > in the presence of a "SIGCHLD" handler set to "SIG_IGN". > Such a handler causes the operating system to reap away > so called zombie processes and if the zombie no longer exists, > "waitpid" will fail. > > > Some *nix variants automatically pass the "SIG_IGN" down to child processes. > Our Debian and SuSE Linux versions do. > I had to change "Zope.Startup.run" not to use "SIG_IGN" as > "SIGCHLD" handler in order to avoid such problems. > > In case, you run your tests with "zopectl test", you may > see this problem... > Hi Dieter! Thanks very much for your help! I will give this one a try! Btw. since this also happens on 5 other machines - all natively installed with RHEL4 - there actually might really be something wrong within the OS. Is that worth submitting a bug to RedHat? Or is ist more like a "feature"? ;) Thanks again, Andreas ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
Andreas Krasa // WUW wrote at 2005-8-16 18:37 +0200: > ... >== >ERROR: checkMultipleAddresses >(ZEO.tests.testConnection.MappingStorageConnectionTests) >-- >Traceback (most recent call last): > File >"/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", >line 121, in tearDown >os.waitpid(pid, 0) >OSError: [Errno 10] No child processes I have seen similar errors happening non deterministically in the presence of a "SIGCHLD" handler set to "SIG_IGN". Such a handler causes the operating system to reap away so called zombie processes and if the zombie no longer exists, "waitpid" will fail. Some *nix variants automatically pass the "SIG_IGN" down to child processes. Our Debian and SuSE Linux versions do. I had to change "Zope.Startup.run" not to use "SIG_IGN" as "SIGCHLD" handler in order to avoid such problems. In case, you run your tests with "zopectl test", you may see this problem... -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
Tim Peters wrote at 2005-8-16 12:35 -0400: > ... >For example, on a slow or >overburdened (with other simultaneous work) machine, some ZEO tests >can fail due to not getting enough cycles soon enough. My experience has been that ZEO tests fail with preference on especially fast machines. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
[Andreas Krasa] So you showed a number of test errors here, all on line 121 of ConnectionTests.py. They all seem indentical to the first one: > ERROR: checkMultipleAddresses > (ZEO.tests.testConnection.MappingStorageConnectionTests) > -- > Traceback (most recent call last): > File > "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", > line 121, in tearDown >os.waitpid(pid, 0) > OSError: [Errno 10] No child processes That's peculiar for several reasons, and-- sorry --I have no theory to offer. Because the failure is in tearDown(), the test body has _completed_. If there's no other failure reported for this test, that means the test succeeded. Instead it's dying while it's tearing the test framework down. Some of the ZEO tests create additional processes. The place it's dying is in this teardown loop: def tearDown(self): """Try to cause the tests to halt""" ... for pid in self._pids: os.waitpid(pid, 0) # here The test driver is simply waiting for the other process(es) it spawned to exit. If there was a failure to create the other process(es), then I'd expect a test to die long before teardown. But if it did create the other process(es), then I have no theory for why Linux waitpid() would claim there are no child processes. Maybe this is relevant (it's the only vaguely similar report I recall seeing across years, but I don't think it reached a conclusion): http://mail.zope.org/pipermail/zope3-users/2005-July/000794.html ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
On 16 Aug 2005, at 17:42, Andreas Krasa // WUW wrote: Our system is a Intel Xeon 3 GHz Dual-CPU with 2.5 GB RAM running RedHat Enterprise Linux 4 (SElinux disabled). I just downloaded and ran all tests for Zope 2.7.7 on one of my boxes, a CentOS 4 install (same as RHEL 4) with all the latest fixes, and they all ran fine. This must be something having to do either with your specific environment or with the way you ran the unit tests. jens smime.p7s Description: S/MIME cryptographic signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
Tim Peters schrieb: > [Andreas Krasa] > >>We are encountering some really strange problems with Zope 2.7.7 on our >>RedHat EL 4 Linux machines. >> >>During the Zope 2.7.7 compilation works - however most of the time "make >>test" returns a random number of errors (somewhere between 20 and 30) >>ALL related to ZEO. >> >>The funny thing is, we've managed to do a "make test" without any >>failures - however after doing a "make distclean" and compiling >>everything again "make test" produces the above mentioned errors (using >>*exactly* the same source code!). >> >>I have absolutely no idea how this can happen - ANY hints are >>appreciated! Is this a known issue? > > > No. For example, it doesn't happen in the daily overnight testrunner reports. > > >>What could it be related to? > > > ZEO ? You'll have to give more info about which tests fail, and > precisely how they fail. Because many of the ZEO tests create > multiple processes, and try to assign sockets so that these processes > can communicate, they're vulnerable to vagaries of OS process > scheduling and socket use by other apps. For example, on a slow or > overburdened (with other simultaneous work) machine, some ZEO tests > can fail due to not getting enough cycles soon enough. The worst > tests of that sort wait as long as a minute now for another process to > "do something" they're waiting for before failing, but not even > waiting a minute can _guarantee_ success. > > Might be informative to run the tests on an otherwise-quiet machine. Thank you Tim for the feedback! Our system is a Intel Xeon 3 GHz Dual-CPU with 2.5 GB RAM running RedHat Enterprise Linux 4 (SElinux disabled). As this is a test-machine it doesn't run any CPU-consuming tasks I can think of - the server load is usually somewhere between 0.00 and 0.10. But I'll check that nevertheless! Best regards Andreas ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
Jens Vagelpohl schrieb: >> During the Zope 2.7.7 compilation works - however most of the time "make >> test" returns a random number of errors (somewhere between 20 and 30) >> ALL related to ZEO. > > > Maybe someone can help if you actually *tell us* what these errors are. > At least my own crystal ball is in the shop for repairs right now... :) > > jens > Hi! Oops, almost forgot about those - the errors are as follows. They are always related to ZEO and an OSError "No child processes". Thanks & best regards, Andreas Krasa --- == ERROR: checkMultipleAddresses (ZEO.tests.testConnection.MappingStorageConnectionTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes == ERROR: checkMultipleServers (ZEO.tests.testConnection.MappingStorageConnectionTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes == ERROR: checkReadOnlyClient (ZEO.tests.testConnection.MappingStorageConnectionTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes == ERROR: checkReadOnlyFallbackReadOnlyServer (ZEO.tests.testConnection.MappingStorageConnectionTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes == ERROR: checkReadOnlyFallbackWritable (ZEO.tests.testConnection.MappingStorageConnectionTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes == ERROR: checkReconnectWritable (ZEO.tests.testConnection.MappingStorageConnectionTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes == ERROR: checkReconnection (ZEO.tests.testConnection.MappingStorageConnectionTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes == ERROR: checkTimeout (ZEO.tests.testConnection.MappingStorageTimeoutTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes == ERROR: checkTimeoutAfterVote (ZEO.tests.testConnection.MappingStorageTimeoutTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes == ERROR: checkTimeoutOnAbortNoLock (ZEO.tests.testConnection.MappingStorageTimeoutTests) -- Traceback (most recent call last): File "/usr/local/src/__zope__/Zope-2.7.7-final/lib/python/ZEO/tests/ConnectionTests.py", line 121, in tearDown os.waitpid(pid, 0) OSError: [Errno 10] No child processes =
Re: [Zope] ZEO troubles on RedHat EL4 Linux
[Andreas Krasa] > We are encountering some really strange problems with Zope 2.7.7 on our > RedHat EL 4 Linux machines. > > During the Zope 2.7.7 compilation works - however most of the time "make > test" returns a random number of errors (somewhere between 20 and 30) > ALL related to ZEO. > > The funny thing is, we've managed to do a "make test" without any > failures - however after doing a "make distclean" and compiling > everything again "make test" produces the above mentioned errors (using > *exactly* the same source code!). > > I have absolutely no idea how this can happen - ANY hints are > appreciated! Is this a known issue? No. For example, it doesn't happen in the daily overnight testrunner reports. > What could it be related to? ZEO ? You'll have to give more info about which tests fail, and precisely how they fail. Because many of the ZEO tests create multiple processes, and try to assign sockets so that these processes can communicate, they're vulnerable to vagaries of OS process scheduling and socket use by other apps. For example, on a slow or overburdened (with other simultaneous work) machine, some ZEO tests can fail due to not getting enough cycles soon enough. The worst tests of that sort wait as long as a minute now for another process to "do something" they're waiting for before failing, but not even waiting a minute can _guarantee_ success. Might be informative to run the tests on an otherwise-quiet machine. ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO troubles on RedHat EL4 Linux
During the Zope 2.7.7 compilation works - however most of the time "make test" returns a random number of errors (somewhere between 20 and 30) ALL related to ZEO. Maybe someone can help if you actually *tell us* what these errors are. At least my own crystal ball is in the shop for repairs right now... :) jens smime.p7s Description: S/MIME cryptographic signature ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO recommended for single-cpu?
[gabor] > i understand that you need to use ZEO when running ZOPE on a multi-cpu > machine (or when you want to cluster ZOPE). > > but from mails on this forum it seems that people are also using ZEO > when they're running ZOPE on a single-cpu machine. > > why? More here: http://zope.org/Wikis/ZODB/FileStorageBackup ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
RE: [Zope] ZEO recommended for single-cpu?
Also, concerning multi-cpu, I think it's the other way around. Because python processes only use one CPU, it's useless to run one Zope instance on a multi-cpu system, as only one CPU will be used. That's why on multi-cpu system lots of people run at least Zeo + one instance of Zope (and often one Zope instance per CPU). But Zeo is really lightweight, so it's worth trying to use Zeo+Zope on a single cpu system, to take advantage of what Chris describes below. Pascal -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Chris McDonough Sent: 14 June 2005 10:46 To: gabor Cc: zope@zope.org Subject: Re: [Zope] ZEO recommended for single-cpu? Typically it's because: - Zope starts faster in a ZEO setup. - You can use "zopectl debug" to get into a debugger session without shutting down Zope first if you use ZEO. - C On Tue, 2005-06-14 at 11:03 +0200, gabor wrote: > hi, > > i understand that you need to use ZEO when running ZOPE on a multi-cpu > machine (or when you want to cluster ZOPE). > > but from mails on this forum it seems that people are also using ZEO > when they're running ZOPE on a single-cpu machine. > > why? > > gabor > ___ > Zope maillist - Zope@zope.org > http://mail.zope.org/mailman/listinfo/zope > ** No cross posts or HTML encoding! ** > (Related lists - > http://mail.zope.org/mailman/listinfo/zope-announce > http://mail.zope.org/mailman/listinfo/zope-dev ) > ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev ) ** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses. www.mimesweeper.com ** ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO recommended for single-cpu?
Typically it's because: - Zope starts faster in a ZEO setup. - You can use "zopectl debug" to get into a debugger session without shutting down Zope first if you use ZEO. - C On Tue, 2005-06-14 at 11:03 +0200, gabor wrote: > hi, > > i understand that you need to use ZEO when running ZOPE on a multi-cpu > machine (or when you want to cluster ZOPE). > > but from mails on this forum it seems that people are also using ZEO > when they're running ZOPE on a single-cpu machine. > > why? > > gabor > ___ > Zope maillist - Zope@zope.org > http://mail.zope.org/mailman/listinfo/zope > ** No cross posts or HTML encoding! ** > (Related lists - > http://mail.zope.org/mailman/listinfo/zope-announce > http://mail.zope.org/mailman/listinfo/zope-dev ) > ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO, sockets and Session bug
Drew Nichols wrote at 2005-6-6 18:02 +1000: >Whenever I have zope running with a socket (as is the default for ZEO) >my Sessions become unstable. Unbelievable because: 1. Zope is always running with sockets (at least the HTTP socket) 2. We use ZEO and sessions without problems. > ... >The sessions are fine 4 out of 5 requests, but the information just >disappears every now and then (refreshing the browser shows it still to >be there sometimes, others it is just gone). Looks like your sessions contain non elementary non persistent values (such as lists or dictionaries). In this case, you *MUST* modify the session in order to persist changes to these values. Usually, this looks like: complex_value = session[] # modify complex_value session[] = complex_value Otherwise, it becomes non-deterministic whether the change is made persistent (and thereby seen by other workers) or remains volatile (and seen only by the worker that made the change). I made a patch for the session machinery to turn this non-deterministic behaviour into a deterministic failure for debugging purposes. I have sent the patch to ChrisM, but he did not understand its purpose and therefore did not add it to the code. @ChrisM: Should we try again? -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO, sockets and Session bug
There are no known bugs in Zope itself after Zope 2.7.3 consistent with what I *think* your observations are. There can be issues caused by not repersisting mutable data, as Malcom described. But that said, I'm not sure I understand what you mean when you say: - "I have my zope running with a socket (as is the default for ZEO)" Do you mean a UNIX domain socket? Or a TCP socket? What process is listening on the socket? - "2.7.3 standalone with HTTPS over socket and 2.7.3 ZEO/client combo" What is standing alone? Can you describe your configuration in more detail? - C On Mon, 2005-06-06 at 18:02 +1000, Drew Nichols wrote: > Hi > Someone may be able to help. > > Whenever I have zope running with a socket (as is the default for ZEO) > my Sessions become unstable. > > This has happened on two different servers (2.7.3 standalone with HTTPS > over socket and 2.7.3 ZEO/Client combo) > > The sessions are fine 4 out of 5 requests, but the information just > disappears every now and then (refreshing the browser shows it still to > be there sometimes, others it is just gone). > > My ZEO is set up to have sessions (tempstorage) on the ZEO and all works > fine (MOST OF THE TIME :-s) > > Any ideas as it is most annoying!!! > > Ta > > > ___ > Zope maillist - Zope@zope.org > http://mail.zope.org/mailman/listinfo/zope > ** No cross posts or HTML encoding! ** > (Related lists - > http://mail.zope.org/mailman/listinfo/zope-announce > http://mail.zope.org/mailman/listinfo/zope-dev ) > ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] ZEO and session variables.
That seems to have been the problem. The ZopeProfiler version I was using does not work with Zope2.7 although Dieter has a version (1.4) that works with Zope2.7.3, I was not using it. I also suspect there may be a problem with multiheaded Zope/ZEO configurations. On Tue, 10 May 2005, Chris McDonough wrote: > It appears that something in the ZopeProfiler product is unhappy with > your configuration. Does it work if you remove this product? > > On Mon, 2005-05-09 at 23:37 -0700, Dennis Allison wrote: > > I am hoping someone with more experience that I with multi-headed > > Zope/ZEO installations can point out my problem. > > > > I am using with Zope 2.7.6-final and Python 2.4.1. Yes, I know I am > > jumping the gun with 2.4.1 but I expect that it is not the source of the > > problem. Hardware is an Athlon dual processor CPU running Linux (RH 7.3). > > > > I am trying to configure multiple Zope heads with a ZEO with shared > > session variables. This means that the session variables need to be in a > > temporary folder associated with the ZEO instance rather than the Zope > > instance. The logs seem to indicate both ZEO and the ZEO temporary > > storage is properly hooked up. > > > > My setup dies with an unhandled exception during startup with a > > ConnectionStateError. Since it appeared when I moved temporary > > storage from Zope to ZEO, I suspect the problem is somewhere in > > that space. > > > > The traceback appended below is truncated for some reason. I was > > running the zope instance with the ``runzope`` program with output > > appended to the controlling terminal. > > > > > > > > The relevant part of the zope.conf the configuration file is: > > > > # ZEO client storage: > > # > > > > mount-point / > > # ZODB cache, in number of objects > > cache-size 5000 > > > > server 192.168.0.92:8301 > > storage 1 > > var $INSTANCE/var > > # ZEO client cache, in bytes > > cache-size 20MB > > # Uncomment to have a persistent disk cache > > client zeo1 > > > > > > # > > # ZEO temporary storage > > # > > > > > > server 192.168.0.92:8301 > > storage temp > > name zeostorage > > var $INSTANCE/var > > > > mount-point /temp_folder > > container-class Products.TemporaryFolder.TemporaryContainer > > > > > > And the relevant portion of the zeo.conf configuration file is: > > > > > > address 192.168.0.92:8301 > > read-only false > > invalidation-queue-size 100 > > pid-filename $INSTANCE/var/ZEO.pid > > # monitor-address PORT > > # transaction-timeout SECONDS > > > > > > > > path $INSTANCE/var/Data.fs > > > > > > # temporary storage has to be ZEO side > > %import tempstorage > > > > name temporary storage for sessioning > > > > > > Running with this configuration, dies with an exception: > > > > 2005-05-09T23:01:43 INFO(0) ZCS:10522 ClientStorage (pid=10522) created > > RW/normal for storage: '1' > > -- > > 2005-05-09T23:01:43 INFO(0) > > ZEC:/opt2/zope/zinstances/leibnitz/var/c1-zeo1-0.zec ClientCache: > > storage='1', size=20971520; > > file[0]='/opt2/zope/zinstances/leibnitz/var/c1-zeo1-0.zec' > > -- > > 2005-05-09T23:01:43 INFO(0) ZCS:10522 Testing connection > > > > -- > > 2005-05-09T23:01:43 INFO(0) zrpc-conn(C):192.168.0.92:8301 received > > handshake 'Z201' > > -- > > 2005-05-09T23:01:43 INFO(0) ZCS:10522 Server authentication protocol None > > -- > > 2005-05-09T23:01:43 INFO(0) ZCS:10522 Connected to storage: ('x-epaul', > > 8301) > > -- > > 2005-05-09T23:01:43 INFO(0) ZCS:10522 Verifying cache > > -- > > 2005-05-09T23:01:43 INFO(0) ZCS:10522 Waiting for cache verification to > > finish > > -- > > 2005-05-09T23:01:43 INFO(0) ZCS:10522 Waiting for cache verification to > > finish > > -- > > 2005-05-09T23:01:43 INFO(0) ZCS:10522 endVerify finishing > > -- > > 2005-05-09T23:01:43 INFO(0) ZCS:10522 endVerify finished > > -- > > 2005-05-09T23:01:43 INFO(0) ZODB Opening database for mounting: > > '1087156928_1109278350.209647' > > -- > > 2005-05-09T23:01:43 INFO(0) ZODB Mounted database > > '1087156928_1109278350.209647' at /temp_folder > > -- > > 2005-05-09T23:01:43 INFO(0) Zope Ready to handle requests > > > > Unhandled exception in thread started by > ZServer.PubCore.ZServerPublisher.ZServerPublisher at 0x40467d4c> > > Traceback (most recent call last): > > File > > "/usr/local/src/zope/Zope2.7/lib/python/ZServer/PubCore/ZServerPublisher.py", > > > > line 23, in __init__ > > response=response) > > File "/opt2/zope/zproducts/standard/ZopeProfiler/MonkeyPatcher.py", line > > 35, in __call__ > > return self._function(*args,**kw) > > File "/opt2/zope/zproducts/standard/ZopeProfiler/ZopeProfiler.py", line > > 335, in _profilePublishModule > > _hookApplicationManager() > > File "/opt2/zope/zproducts/standard/ZopeProfiler/ZopeProfiler.py", line > > 383, in _hookApplicationMana