[ZODB-Dev] ClientDisconnected error on windows
JohnD.Heintz
JohnD.Heintz
Wed, 8 Aug 2001 16:45:35 -0500
On Wednesday 08 August 2001 16:19, Jeremy Hylton wrote:
> >>>>> "JDH" =3D=3D John D Heintz <jheintz@isogen.com> writes:
>
> JDH> Didn't work for us. Also, on linux we get really long pauses
> JDH> where there is no CPU being used - I can only presume python is
> JDH> blocking on the socket.
>
> JDH> What can I do to capture more detail? We should be able to
> JDH> package up a reproducible test case - is that the best thing?
>
> A test case that I can run on my machine is probably best. If you can
> give some idea of what the StorageServer is doing that would help, too.
>
> JDH> What I can package is our use of ZODB for omniORB. It would
> JDH> require you to have omniORBpy installed but then it should be
> JDH> trivial to run our code. Do you want this?
>
> That sounds good.
Sent to you in mail, and packaged as ZCF 0.6 at =20
http://www.zope.org/Members/jheintz/ZODB_CORBA_Connection/ZCF-0_6.zip/vie=
w
>
> JDH> The only other thing I can mention right now is that we are
> JDH> getting these errors during stress testing - multiple threads
> JDH> hitting our server full out.
>
> That may be helpful.
>
> I'm still having trouble understand what the problem is. It's hard
> for me to grasp the larger system environment and what you think the
> correct behavior would be. The tracebacks alone show a tiny snapshot
> of the system state, but not necessarily an illegal one. So I've got
> a bunch of questions below; feel free to respond to only the relevant
> ones :-).
Thanks, hopefully with the ZCF 0.6 code you should be able to replicate t=
his=20
on your own boxes as well.
>
> The tracebacks you show seem like part of the documented behavior of
> ZEO. You can get a ClientDisconnected error when you commit a
> transaction. You can also get a POSException, a thread.error, or a
> socket.error. [I'll treat your POSException suggestion separately.]
Where is this documented? My ideal would be something along the lines of=
=20
BTrees.Interfaces with all exceptions declared. My suggestion about=20
POSException was based primarily on the belief that *POSException* was th=
e=20
documentation.
>
> It may take a moment for a client to reconnect, so under heavy load I
> can imagine getting this error several times before the client
> reconnects. When you get this error, do you retry the transaction?
> If so, does it succeed (eventually)? Or is this client disconnected
> permanently?
Umm, I think on Linux we are getting reconnected, but I'm not so sure abo=
ut=20
on Win2k. =20
Regarding the reconnect time: The scenerio we have is:
[ZEO Server] <-> [ZEO Client / CORBA Server] <=3D=3D> [many CORBA Clients=
]
With this setup why would there be any waiting to reconnect? The ZEO Ser=
ver=20
is only serving one ZEO Client and therefore should be able to respond=20
immediately to a reconnect request. Right?
>
> Or is the problem that you don't think there's any reason for the
> socket to be failing in the first place? The error that you're seeing
> on Linux occurs on a non-blocking socket when there's no room left in
> the pipe or socket to write the data. Perhaps this is an asyncore bug
> -- that asyncore should be catching this and trying again. I don't
> know what that would mean for Windows, since it's a completely
> different error.
Right. We can run all the processes on a single box and still experience=
the=20
problem. We have no network failures that I'm aware of and I'm not doing=20
anything but throw data at the CORBA Server (single ZEO Client) fast. I=20
would expect either asyncore or zrpc to handle the problem more gracefull=
y. =20
When the socket runs out of room asyncore should block further pushes unt=
il=20
more room is available. Are there tunable parameters in zrpc / asyncore =
/=20
the OS to specify how much data should be cached for a socket?
>
> Jeremy
>
>
> _______________________________________________
> For more information about ZODB, see the ZODB Wiki:
> http://www.zope.org/Wikis/ZODB/
>
> ZODB-Dev mailing list - ZODB-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zodb-dev
Thanks!
John
--=20
=2E . . . . . . . . . . . . . . . . . . . . . . .
John D. Heintz | Senior Engineer
1016 La Posada Dr. | Suite 240 | Austin TX 78752
T 512.633.1198 | jheintz@isogen.com
w w w . d a t a c h a n n e l . c o m