[QFJ-632] isTimeToGenerateLogon() in Session always returns true -> Initiators reconnect immediately when a Server closes the connection Created: 02/Sep/11  Updated: 08/Nov/12  Resolved: 08/Nov/12

Status: Resolved
Project: QuickFIX/J
Component/s: Engine
Affects Version/s: 1.5.0, 1.5.1, 1.5.2
Fix Version/s: 1.5.3

Type: Bug Priority: Default
Reporter: Bernhard Wege Assignee: Christoph John
Resolution: Fixed Votes: 0
Labels: Reconnect, ReconnectInterval

Issue Links:
Relates
is related to QFJ-419 Reconnect Interval: set different int... Closed

 Description   

The long attribute lastSessionLogon in Session never gets written and always stays 0. This makes isTimeToGenerateLogon() to always return true, because current Time - 0 will always be greater than computeNextLogonDelayMillis(). This results in Initiators reconnecting immediately and ignoring the ReconnectInterval after a Server closes the Connection.

This should affect all versions. But I only checked 1.5.1, 1.5.0 and TRUNK.

I am not sure where lastSessionLogon hast to be set, but I guess it should be in generateLogon(). Additionally I don't understand why lastSessionLogon gets set to 0 in nextLogon(). As far as I understand, it should never be necessary to reset it to 0. isTimeToGenerateLogon() is the only function that uses it.



 Comments   
Comment by Christoph John [ 15/Oct/12 ]

Moreover, the counter "logonAttempts" is never incremented which leads to the usage of only one reconnectInterval in computeNextLogonDelayMillis(). (QFJ-419)

Comment by Christoph John [ 08/Nov/12 ]

Committed as rev #1098.

Generated at Tue May 07 23:04:02 UTC 2024 using JIRA 7.5.2#75007-sha1:9f5725bb824792b3230a5d8716f0c13e296a3cae.