[Quickfix-developers] Missing FIX messages in Initiator?
Brought to you by:
orenmnero
|
From: Edde <edd...@gm...> - 2005-07-21 16:46:46
|
Hi Guys, During the last couple of weeks we've been experiencing problems in the FIX communication with our broker firm. Based upon the QuickFix logs of the FIX transmissons the problem is only appearing when we're sending FIX messages to the broker firm (Initiator --> Acceptor). Usually the problem is that it takes a long time for our messages to arrive at the broker firm (sometimes 30s or more) which is very frustrating when you for example want to insert an order to the market. We've been doing extensive network monitoring and we can't find any problems in the network connection at either end. We're running all FIX traffic through a VPN (SecuRemote) and we're suspecting that this might have something to do with the problem but we're not sure. Does anyone on this list have any clues to what might be the problem here? And then yesterday and again today the Acceptor actually terminated the connection since it didn't recieve any messages from our Initiator. I've put together a list of the relevant FIX messages (truncated after Tag 35). "EDDE" is the Initiator (QuickFIX) and "FIP" is the acceptor (I think they're using a self developped FIX Engine): *EDDE -> FIP 09:06:53.349 - 8=3DFIX.4.29=3D17335=3DD (InsertOrde= rSingle) *FIP -> EDDE 09:06:59.739 - 8=3DFIX.4.29=3D34435=3D8 (ExecutionR= eport) *EDDE -> FIP 09:07:23.067 - 8=3DFIX.4.29=3D5135=3D0 (Heartbeat) *EDDE -> FIP 09:07:24.270 - 8=3DFIX.4.29=3D18835=3DD (InsertOrde= rSingle) *EDDE -> FIP 09:07:29.333 - 8=3DFIX.4.29=3D18835=3DD (InsertOrde= rSingle) *FIP -> EDDE 09:07:30.708 - 8=3DFIX.4.29=3D5235=3D0 (Heartbeat) *EDDE -> FIP 09:07:37.677 - 8=3DFIX.4.29=3D17935=3DD (InsertOrde= rSingle) *EDDE -> FIP 09:07:42.677 - 8=3DFIX.4.29=3D17735=3DD (InsertOrde= rSingle) *EDDE -> FIP 09:07:47.677 - 8=3DFIX.4.29=3D17735=3DD (InsertOrde= rSingle) *FIP -> EDDE 09:08:00.708 - 8=3DFIX.4.2=019=3D78=0135=3D1=0134=3D113=0149=3DFIP=0152=3D20050719-07:07:5= 9.001=0156=3DEDDE=01112=3D20050719-07:07:59.000=0110=3D057=01 (TestRequest) *EDDE -> FIP 09:08:00.708 - 8=3DFIX.4.2=019=3D77=0135=3D0=0134=3D96=0149=3DEDDE=0152=3D20050719-07:08:0= 0.708=0156=3DFIP=01112=3D20050719-07:07:59.000=0110=3D018=01 (Response) *EDDE -> FIP 09:08:00.958 - 8=3DFIX.4.29=3D19035=3DD (InsertOrde= rSingle) *EDDE -> FIP 09:08:05.958 - 8=3DFIX.4.29=3D17635=3DD (InsertOrde= rSingle) *EDDE -> FIP 09:08:18.005 - 8=3DFIX.4.29=3D17635=3DD (InsertOrde= rSingle) *FIP -> EDDE 09:08:30.708 - 8=3DFIX.4.2=019=3D109=0135=3D5=0134=3D114=0149=3DFIP=0152=3D20050719-07:08:= 29.001=0156=3DEDDE=0158=3DDidn't receive message for a long time. Disconnected.=0110=3D005=01 (Logout) *EDDE -> FIP 09:08:30.708 - 8=3DFIX.4.29=3D5235=3D5 (Logout) *EDDE -> FIP 09:08:49.817 - 8=3DFIX.4.29=3D6435=3DA (Logon failu= re) *EDDE -> FIP 09:09:09.145 - 8=3DFIX.4.29=3D6435=3DA (Logon) *FIP -> EDDE 09:09:10.474 - 8=3DFIX.4.29=3D6435=3DA (Logon) After this we're doing the proper resends off messages etc. Based on the logs the communication didn't work in the EDDE --> FIP direction between 09:06:55 and 09:09:10 which is just over 2 mins. The point is that the communication works flawlessly in one direction (FIP --> EDDE) while all the messages going the other direction just doesn't reach the target. From what I understand the FIX protocol doesn't acknowledge message delivery so this is ok. What I'm trying to figure out is where these messages go? Shouldn't there be a socket exception or something if the message can't be delivered to the target socket? Another important part of this is that we're running two sessions in the system, one for MarketData and one for Order handling. The problem only occurs on the Order session while the communication on the MarketData session works just fine. I think this rules out any problems with the actual network but I'm not sure. Our system is running on Windows XP using a Java application and the QuickFIX/JNI solution (1.9.4). We're using VPN (SecuRemote) to assure a safe connection with our broker. If anyone have any ideas what may cause these problems please let me know. Thanks, /Eddie Ps. I'm very excited about the pure Java implementation of QuickFIX. Great work!!! |