Details
-
Type: Bug
-
Status: Closed
-
Priority: Critical
-
Resolution: Fixed
-
Affects Version/s: 1.0.3
-
Fix Version/s: 1.0.4
-
Component/s: Engine, Networking
-
Labels:None
Description
The exceptionCaught() callback in quickfix.mina.AbstractIoHandler calls quickFixSession.disconnect() which is now a 'blocking call' (changed from non-blocking to blocking in 1.0.3). As result, when a correctly operating connection breaks, the callback invokes the blocking quickFixSession.disconnect() and hangs indefinitely in quickfix.mina.IoSessionResponder.disconnect() on ioSession.close().join() (because the close operation cannot be completed).
It is not a good idea to mix asynchronous callbacks with blocking API calls.
The reconnection mechanism is broken now, which isn't good. Especially when your application is waiting for trades worth millions of dollars and it experiences a temporary network related problem.
Attachments
Issue Links
- is related to
-
QFJ-71 Initiator's application.onLogout() is not called if Acceptor connection is forcibly closed
- Closed