0

I am trying a FIX connection to an external counterparty which works properly on one server. I have moved the implementation onto another server (on a different network with its own firewall). I can see that the logon messages are exchanged between the two sides (I see that both in the application and network layer logs). However, now that I am responding to a counterparty message right after the logon, my FIX outbound message throws an exception complaining that there is no valid session to send the message on. I do not see any resets in the network logs before this (the reset occurs when the above event occurs after which my quickfixj app sends a logout). My heartbeat interval is set to 30 seconds as per the counterparty instructions - this exception happens within a second of the logon response. The same config works on a different server (on which I do not have any firewall rules). Any ideas what might be causing this and if network related, what would be the best approach to confirm that?

Update: Issue was related to faulty logic on my end - I have fixed it on my end. The session ID was not being populated before being accessed.

ali haider
  • 19,175
  • 17
  • 80
  • 149
  • If you don't send you application msg, are heartbeats exchanging properly? Is there any exception in logs, after logon sequence is done? – Victor Sorokin Oct 09 '14 at 17:10
  • I see the logon response coming back from the counterparty - as well as the application message which invokes the onMessage in my quickfixj implementation. However, when I handle this message and call 'Session.sendToTarget' passing in the session as the second paratmer, the call throws an exception (because the session is null). This only happens on the new server, not the old one (old one uses ubuntu with no firewall, new one uses centos with firewall which I do not control - I tried tshark but I don't see any resets till after the application logs off -guessing because of this exception). – ali haider Oct 09 '14 at 17:15
  • 1
    From your description, looks more like a software bug on your side. Perhaps, debugging session and few more logs will help you to track issue down. – Victor Sorokin Oct 09 '14 at 17:18
  • 1
    why would it happen on one server (always) and not on another? they are both using JDK7 but one is ubuntu and the other is centos – ali haider Oct 09 '14 at 17:19
  • 1
    It's hard to tell not seeing code (and I believe, there's lot of code in your app), but if network tools show no issues, as you've said, it should a bug in your code. Speculating, it may be some concurrency issue which is uncovered when moved from one hardware to another. – Victor Sorokin Oct 09 '14 at 17:21
  • adding relevant code to the post in a couple of minutes. thanks – ali haider Oct 09 '14 at 17:23

0 Answers0