Re: [Quickfix-developers] ThreadedSocketConnection: fix for memory growth under heavy load
Brought to you by:
orenmnero
|
From: Oren M. <or...@qu...> - 2005-10-29 19:26:29
|
I checked in your patch. I did reintroduce the second thread so that it =
can call the next() method every second. The queue processing is gone. =
Since recv block indefinately I'm not sure if there is another solution =
without having a second thread. Can you think of anything? Another =
possibility would be to have just one thread for the Acceptor/Initiator =
which will call next on all of its sessions. This way where n =3D =
number of sessions, we can cut the number of threads down from 2*n to n =
+ 1.
--oren
--oren
----- Original Message -----=20
From: Oren Miller=20
To: Caleb Epstein=20
Cc: qui...@li...=20
Sent: Friday, October 28, 2005 9:19 PM
Subject: Re: [Quickfix-developers] ThreadedSocketConnection: fix for =
memory growth under heavy load
I was testing this and a problem I noticed is that there is nothing =
calling Session::next(). Previously the thread waiting on the queue =
would timeout every second and this method would get called (via =
processStream). This processes heartbeats and such. With this patch, =
none of this is occuring, causing many acceptance tests to fail.
--oren
----- Original Message -----=20
From: Caleb Epstein=20
To: Oren Miller=20
Cc: qui...@li...=20
Sent: Wednesday, October 19, 2005 2:12 PM
Subject: Re: [Quickfix-developers] ThreadedSocketConnection: fix for =
memory growth under heavy load
On 10/19/05, Caleb Epstein <cal...@gm...> wrote:
Attached is a complete patch which removes the extra thread from =
ThreadedSocketConnection as well as the functions and members which are =
no longer needed once its gone.
Here's a slightly revised patch (one line change). I needed to move =
the call to processStream before the recv call otherwise Initiators =
would not logon correctly. I've now tested this code with both =
Initiators and Acceptors.
--=20
Caleb Epstein
caleb dot epstein at gmail dot com |