[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: |
|
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(). ( |
Comment by Christoph John [ 08/Nov/12 ] |
Committed as rev #1098. |