quickfix-j / quickfixj

QuickFIX/J is a full featured messaging engine for the FIX protocol. - This is the official project repository.
http://www.quickfixj.org
Other
959 stars 613 forks source link

FIX connection timed-out after successful heartbeat message #795

Closed iavinash closed 5 months ago

iavinash commented 5 months ago

I have an application that connects to a server via the FIX protocol. The dependency QuickfixJ 2.3.0 is used. We used Oracle to save the sequence in the quickfix_sessions table since QuickfixJ stores incoming and outgoing sequences in the database.

Recently we switched from Oracle to PostgreSQL, and as a result, we began experiencing time-out problems. The TestRequest was made, and it timed out waiting for the heartbeat response. However, the response was recorded as received in the FIX messages log.

The session finally managed to log back in after the application failed to reconnect and timed out on a logon response that was being logged as received.

We occasionally observe no disconnections during the day, but occasionally they occur twice or three times. There is no consistent pattern for when it disconnects—it can happen in four hours or just one hour. However, the logs show no database issues.

The heartbeat interval is heartbeatInt = 30s

Sample logs:

Disconnecting: Timed out waiting for logon response Initiated logon request Disconnecting: Timed out waiting for logon response