You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Asanka Abeysinghe (JIRA)" <ji...@apache.org> on 2008/06/29 08:11:45 UTC
[jira] Created: (SYNAPSE-381) FIX session with the Acceptor
endpoint failes when restarts the Synapse instance
FIX session with the Acceptor endpoint failes when restarts the Synapse instance
--------------------------------------------------------------------------------
Key: SYNAPSE-381
URL: https://issues.apache.org/jira/browse/SYNAPSE-381
Project: Synapse
Issue Type: Bug
Components: Transports
Affects Versions: 1.2
Environment: Java 1.5 on Ubuntu- Gutsy , Quickfix/j 1.3.1
Reporter: Asanka Abeysinghe
When synapse instance restart while acceptor endpoint running, the FIX session doesn't reconnect. In this situation the sequance numbers of both endpoints had a mismatch, so the FIX engine running in Synapse need to re-set the sequence by sending a seq number reset (35=4), But synapse try to create a new session with the same session info while previously created session trying to reconnect.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Updated: (SYNAPSE-381) FIX session with the Acceptor
endpoint failes when restarts the Synapse instance
Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hiranya Jayathilaka updated SYNAPSE-381:
----------------------------------------
Attachment: exec.log
I'm afraid I cannot reproduce this scenario. I tried connecting the sample QFJ applications via Synapse (similar to sample 257) and tried sending some messages and restarting Synapse. Synapse resumed the session with the acceptor without any issues. See the attached log from the acceptor for more details. I have made some comments in-line too.
Could you please provide some more information regarding this.
> FIX session with the Acceptor endpoint failes when restarts the Synapse instance
> --------------------------------------------------------------------------------
>
> Key: SYNAPSE-381
> URL: https://issues.apache.org/jira/browse/SYNAPSE-381
> Project: Synapse
> Issue Type: Bug
> Components: Transports
> Affects Versions: 1.2
> Environment: Java 1.5 on Ubuntu- Gutsy , Quickfix/j 1.3.1
> Reporter: Asanka Abeysinghe
> Attachments: exec.log
>
>
> When synapse instance restart while acceptor endpoint running, the FIX session doesn't reconnect. In this situation the sequance numbers of both endpoints had a mismatch, so the FIX engine running in Synapse need to re-set the sequence by sending a seq number reset (35=4), But synapse try to create a new session with the same session info while previously created session trying to reconnect.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Assigned: (SYNAPSE-381) FIX session with the Acceptor
endpoint failes when restarts the Synapse instance
Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hiranya Jayathilaka reassigned SYNAPSE-381:
-------------------------------------------
Assignee: Hiranya Jayathilaka
> FIX session with the Acceptor endpoint failes when restarts the Synapse instance
> --------------------------------------------------------------------------------
>
> Key: SYNAPSE-381
> URL: https://issues.apache.org/jira/browse/SYNAPSE-381
> Project: Synapse
> Issue Type: Bug
> Components: Transports
> Affects Versions: 1.2
> Environment: Java 1.5 on Ubuntu- Gutsy , Quickfix/j 1.3.1
> Reporter: Asanka Abeysinghe
> Assignee: Hiranya Jayathilaka
> Attachments: exec.log, syn-to-exec
>
>
> When synapse instance restart while acceptor endpoint running, the FIX session doesn't reconnect. In this situation the sequance numbers of both endpoints had a mismatch, so the FIX engine running in Synapse need to re-set the sequence by sending a seq number reset (35=4), But synapse try to create a new session with the same session info while previously created session trying to reconnect.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Resolved: (SYNAPSE-381) FIX session with the Acceptor
endpoint failes when restarts the Synapse instance
Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hiranya Jayathilaka resolved SYNAPSE-381.
-----------------------------------------
Resolution: Invalid
Fix Version/s: NIGHTLY
As mentioned in my previous comments, Synapse can handle the sequence mismatch situations gracefully. The way such conditions are handled right now is correct and conforms to the FIX specifications. The problem is entirely taken care of at the Quickfix/J level.
> FIX session with the Acceptor endpoint failes when restarts the Synapse instance
> --------------------------------------------------------------------------------
>
> Key: SYNAPSE-381
> URL: https://issues.apache.org/jira/browse/SYNAPSE-381
> Project: Synapse
> Issue Type: Bug
> Components: Transports
> Affects Versions: 1.2
> Environment: Java 1.5 on Ubuntu- Gutsy , Quickfix/j 1.3.1
> Reporter: Asanka Abeysinghe
> Assignee: Hiranya Jayathilaka
> Fix For: NIGHTLY
>
> Attachments: exec.log, syn-to-exec
>
>
> When synapse instance restart while acceptor endpoint running, the FIX session doesn't reconnect. In this situation the sequance numbers of both endpoints had a mismatch, so the FIX engine running in Synapse need to re-set the sequence by sending a seq number reset (35=4), But synapse try to create a new session with the same session info while previously created session trying to reconnect.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
Re: [jira] Updated: (SYNAPSE-381) FIX session with the Acceptor endpoint
failes when restarts the Synapse instance
Posted by Asanka Abeysinghe <as...@wso2.com>.
The QFJ engine associate with the acceptor handle the recovery scenario
you mentioned not the Synapse initiator. This is correct and that is
the correct way FIX should recover by resetting the seq numbers of both
endpoints. In the specific case that I saw while the started QFJ engine
trying to reset the seq number and reconnect, Synapse initiator did
start another instance of QFJ engine and try to establish a new session.
I will try to recreate the issue and send the exact sequence of events.
Hiranya Jayathilaka (JIRA) wrote:
> [ https://issues.apache.org/jira/browse/SYNAPSE-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> Hiranya Jayathilaka updated SYNAPSE-381:
> ----------------------------------------
>
> Attachment: syn-to-exec
>
> I still don't see any issue. I tried restarting Synapse after clearing the message store. Then the next message Synapse sends to the acceptor will contain the seq number 1 (ie the sequence has reset). But the acceptor expects a message with a higher seq number. The FIX spec clearly mentions how to handle this kind of situations:
>
> "If the incoming message has a sequence number less than expected and the PossDup
> flag is not set it indicates a serious error and it is strongly recommended that the session be
> terminated and manual intervention be initiated."
>
> This is exactly what the acceptor does by immediately disconnecting the session. But Synapse initiator will keep on trying to connect to the session by increasing the seq number at each attempt. If you wait enough you will see that Synapse will finally manage to connect to the session.
>
> See the attached log file from the acceptor for more details. See the inline comments to
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Updated: (SYNAPSE-381) FIX session with the Acceptor
endpoint failes when restarts the Synapse instance
Posted by "Hiranya Jayathilaka (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-381?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hiranya Jayathilaka updated SYNAPSE-381:
----------------------------------------
Attachment: syn-to-exec
I still don't see any issue. I tried restarting Synapse after clearing the message store. Then the next message Synapse sends to the acceptor will contain the seq number 1 (ie the sequence has reset). But the acceptor expects a message with a higher seq number. The FIX spec clearly mentions how to handle this kind of situations:
"If the incoming message has a sequence number less than expected and the PossDup
flag is not set it indicates a serious error and it is strongly recommended that the session be
terminated and manual intervention be initiated."
This is exactly what the acceptor does by immediately disconnecting the session. But Synapse initiator will keep on trying to connect to the session by increasing the seq number at each attempt. If you wait enough you will see that Synapse will finally manage to connect to the session.
See the attached log file from the acceptor for more details. See the inline comments too
> FIX session with the Acceptor endpoint failes when restarts the Synapse instance
> --------------------------------------------------------------------------------
>
> Key: SYNAPSE-381
> URL: https://issues.apache.org/jira/browse/SYNAPSE-381
> Project: Synapse
> Issue Type: Bug
> Components: Transports
> Affects Versions: 1.2
> Environment: Java 1.5 on Ubuntu- Gutsy , Quickfix/j 1.3.1
> Reporter: Asanka Abeysinghe
> Attachments: exec.log, syn-to-exec
>
>
> When synapse instance restart while acceptor endpoint running, the FIX session doesn't reconnect. In this situation the sequance numbers of both endpoints had a mismatch, so the FIX engine running in Synapse need to re-set the sequence by sending a seq number reset (35=4), But synapse try to create a new session with the same session info while previously created session trying to reconnect.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org
[jira] Commented: (SYNAPSE-381) FIX session with the Acceptor
endpoint failes when restarts the Synapse instance
Posted by "Asanka Abeysinghe (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SYNAPSE-381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609157#action_12609157 ]
Asanka Abeysinghe commented on SYNAPSE-381:
-------------------------------------------
Did you try to clear the FIX log file of Synapse QF engine to reset the
seq numbers. This happens with the seq numbers mismatch.
> FIX session with the Acceptor endpoint failes when restarts the Synapse instance
> --------------------------------------------------------------------------------
>
> Key: SYNAPSE-381
> URL: https://issues.apache.org/jira/browse/SYNAPSE-381
> Project: Synapse
> Issue Type: Bug
> Components: Transports
> Affects Versions: 1.2
> Environment: Java 1.5 on Ubuntu- Gutsy , Quickfix/j 1.3.1
> Reporter: Asanka Abeysinghe
> Attachments: exec.log
>
>
> When synapse instance restart while acceptor endpoint running, the FIX session doesn't reconnect. In this situation the sequance numbers of both endpoints had a mismatch, so the FIX engine running in Synapse need to re-set the sequence by sending a seq number reset (35=4), But synapse try to create a new session with the same session info while previously created session trying to reconnect.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org