{{Quickfixn}} subsequent calls to lock(sync_) are blocked indefinitely following Socket Exception socket_.Send(rawData)
Mark Cooke
mc.developer at verizon.net
Thu Jan 5 16:43:18 PST 2017
I am hunting down a problem with our own service which sometimes gets
"stuck"
I am testing locally using a modified Executor that I use to act as
brokers replying to our Trading application.
I am running both locally, using 127.0.0.1 as my SocketHost
things normally work fine.
The socket exception says "An existing connection was forcibly closed by
the remote host"
no matter why that condition occurred, I would have expected the
lock(sync_) to have been cleared.
My only solution which works is to stop and start both the executor and
my application.
Which is very similar to this rare (but painful) condition we've seen
in production, where suddenly our Fix Processor does not seem to be
doing anything, and if we restart it, we are fine (in production, the
other side is fine, we've simply had to restart our service and it
reconnects and processes all of those requests which had been backed up
until we noticed)
I can't say that I've noticed any similar exception in our logs from
production (but will look again, now that I've seen this)
part of me assumes this local problem is not the same as what we had
happen in production.
but the symptoms are spot on.
we are using version 1.2.0.0 of QuickFix.dll
we are building our code using .NET 4.6.1
.....
I've searched recent emails on this list and saw one mentioning these
locks, but I haven't seen anyone mention getting stuck like this.
I need to come up with safe solution quickly. Thinking of wrapping our
calls to Session.SendToTarget with code that would include a timeout and
alerting us if we do timeout, so that we could at least restart our
sessions.
Has anyone else reported similar issues? And does anyone have advice for
short term/long term remediation?
More information about the Quickfixn
mailing list