|
From: Edde <edd...@gm...> - 2006-07-19 09:08:50
|
Hi Guys, I've been using QuickFIX/J for a couple of weeks now and for the most part I'm very happy with the result. Thanks to Steve and the rest for finally making QuickFIX a pure Java application! However, yesterday when I had to restart our application I had some issues when QuickFIX didn't respond correctly to a ResendRequest from our counterparty. Normally this is what happens when I have to restart during the day: XXX =3D Me YYY =3D Counterparty 8=3DFIX.4.2=019=3D53=0135=3DA=0134=3D7200=0149=3DXXX=0152=3D20060718-08:07:= 30.231=0156=3DYYY=0110=3D108=01 8=3DFIX.4.2=019=3D66=0135=3DA=0134=3D7201=0149=3DXXX=0152=3D20060718-08:07:= 30.261=0156=3DYYY=0198=3D0=01108=3D180=0110=3D195=01 8=3DFIX.4.2=019=3D66=0135=3DA=0134=3D14225=0149=3DYYY=0152=3D20060718-08:07= :29.596=0156=3DXXX=0198=3D0=01108=3D30=0110=3D212=01 8=3DFIX.4.2=019=3D62=0135=3D2=0134=3D7202=0149=3DXXX=0152=3D20060718-08:07:= 32.134=0156=3DYYY=017=3D1=0116=3D0=0110=3D222=01 8=3DFIX.4.2=019=3D75=0135=3D1=0134=3D7203=0149=3DXXX=0152=3D20060718-08:07:= 32.134=0156=3DYYY=01112=3DResendHasFinished=0110=3D224=01 ResendRequest from YYY: 8=3DFIX.4.2=019=3D66=0135=3D2=0134=3D14226=0149=3DYYY=0152=3D20060718-08:07= :29.600=0156=3DXXX=017=3D7150=0116=3D0=0110=3D182=01 Correct respons from QuickFIX/J: 8=3DFIX.4.2=019=3D94=0135=3D4=0134=3D7150=0143=3DY=0149=3DXXX=0152=3D200607= 18-08:07:32.184=0156=3DYYY=01122=3D20060718-08:07:32=0136=3D7204=01123=3DY= =0110=3D080=01 8=3DFIX.4.2=019=3D75=0135=3D1=0134=3D7204=0149=3DXXX=0152=3D20060718-08:07:= 38.143=0156=3DYYY=01112=3DTest OS, 10:07:38=0110=3D149=01 8=3DFIX.4.2=019=3D75=0135=3D1=0134=3D7205=0149=3DXXX=0152=3D20060718-08:07:= 41.147=0156=3DYYY=01112=3DTest OS, 10:07:41=0110=3D142=01 Yesterday's scenario: 8=3DFIX.4.2=019=3D67=0135=3DA=0134=3D30499=0149=3DXXX=0152=3D20060718-11:29= :33.504=0156=3DYYY=0198=3D0=01108=3D180=0110=3D004=01 8=3DFIX.4.2=019=3D67=0135=3DA=0134=3D61254=0149=3DYYY=0152=3D20060718-11:29= :34.083=0156=3DXXX=0198=3D0=01108=3D180=0110=3D000=01 8=3DFIX.4.2=019=3D63=0135=3D2=0134=3D30500=0149=3DXXX=0152=3D20060718-11:29= :36.728=0156=3DYYY=017=3D1=0116=3D0=0110=3D023=01 8=3DFIX.4.2=019=3D76=0135=3D1=0134=3D30501=0149=3DXXX=0152=3D20060718-11:29= :36.738=0156=3DYYY=01112=3DResendHasFinished=0110=3D026=01 ResendRequest from YYY: 8=3DFIX.4.2=019=3D67=0135=3D2=0134=3D61255=0149=3DYYY=0152=3D20060718-11:29= :34.087=0156=3DXXX=017=3D30498=0116=3D0=0110=3D249=01 The correct Sequence Reset message is missing from QuickFIX/J... 8=3DFIX.4.2=019=3D76=0135=3D1=0134=3D30502=0149=3DXXX=0152=3D20060718-11:29= :42.757=0156=3DYYY=01112=3DTest OS, 13:29:42=0110=3D201=01 8=3DFIX.4.2=019=3D76=0135=3D1=0134=3D30503=0149=3DXXX=0152=3D20060718-11:29= :45.761=0156=3DYYY=01112=3DTest OS, 13:29:45=0110=3D203=01 When checking the Event log I found the following: 20060718-11:29:31.220: Session FIX.4.2:XXX->YYY schedule is daily, 00:00:00 UTC - 00:00:00 UTC 20060718-11:29:31.241: Created session: FIX.4.2:XXX->YYY 20060718-11:29:33.554: Initiated logon request 20060718-11:29:36.728: Received logon response 20060718-11:29:36.728: MsgSeqNum too high, expecting 1 but received 61254 20060718-11:29:36.738: Sent ResendRequest FROM: 1 TO: 0 20060718-11:29:36.788: Received ResendRequest FROM: 30498 TO: 0 20060718-11:29:36.819: Error during message processing java.lang.ClassCastException: quickfix.Message =09at quickfix.MessageCracker.crack(MessageCracker.java:48) =09at trader.quickfix.QuickFIXApplication.toApp(QuickFIXApplication.java:37= 3) =09at quickfix.Session.resend(Session.java:757) =09at quickfix.Session.nextResendRequest(Session.java:698) =09at quickfix.Session.next(Session.java:585) =09at quickfix.mina.ThreadPerSessionEventHandlingStrategy$MessageDispatchin= gThread.run(ThreadPerSessionEventHandlingStrategy.java:75) I'm sure that this ClassCastException is the problem but I have no idea what might be the cause. Anyone experienced the same thing? I'll check if I can recreate the problem and add some debug code to check what object type is passed when problem occurs. Thanks, /Eddie |
|
From: Nayak, S. \(IT\) <San...@mo...> - 2006-07-19 14:12:01
|
Hi Edde I was facing similar problem while running the example applications, Banjai and Executor respectively. This seems to be because of mismatch in sequence numbers between the two communicating applications .In quickfix/output/data has two folders client and server for the respective applications which store the session state information .The file "Fix.*.seqnums" contain the last exchanged sequence numbers between the applications. A possible hack which worked for me was delete the contents of client and server folders and restart the application .=20 An appropriate solution seems to be is to set "ResetOnLogout", "ResetOnDisconnect","SendResetSeqNumFlag"(http://www.quickfixj.org/quick fixj/usermanual/usage/configuration.html) in the application's .cfg file for both the communicating applications.=20 I am not sure about your scenario but this worked for me.Maybee anybody else can confirm this. Regards Sankalp =20 -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Edde Sent: Wednesday, July 19, 2006 5:09 AM To: qui...@li...; edd...@gm... Subject: [Quickfixj-users] ClassCastException in MessageCracker QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ Hi Guys, I've been using QuickFIX/J for a couple of weeks now and for the most part I'm very happy with the result. Thanks to Steve and the rest for finally making QuickFIX a pure Java application! However, yesterday when I had to restart our application I had some issues when QuickFIX didn't respond correctly to a ResendRequest from our counterparty. Normally this is what happens when I have to restart during the day: XXX =3D Me YYY =3D Counterparty 8=3DFIX.4.2=019=3D53=0135=3DA=0134=3D7200=0149=3DXXX=0152=3D20060718-08:0= 7:30.231=0156=3DYYY=0110=3D10 8=01 8=3DFIX.4.2=019=3D66=0135=3DA=0134=3D7201=0149=3DXXX=0152=3D20060718-08:0= 7:30.261=0156=3DYYY=0198=3D0=01 108=3D180=0110=3D195=01 8=3DFIX.4.2=019=3D66=0135=3DA=0134=3D14225=0149=3DYYY=0152=3D20060718-08:= 07:29.596=0156=3DXXX=0198=3D0 =01108=3D30=0110=3D212=01 8=3DFIX.4.2=019=3D62=0135=3D2=0134=3D7202=0149=3DXXX=0152=3D20060718-08:0= 7:32.134=0156=3DYYY=017=3D1=011 6=3D0=0110=3D222=01 8=3DFIX.4.2=019=3D75=0135=3D1=0134=3D7203=0149=3DXXX=0152=3D20060718-08:0= 7:32.134=0156=3DYYY=01112=3DR esendHasFinished=0110=3D224=01 ResendRequest from YYY: 8=3DFIX.4.2=019=3D66=0135=3D2=0134=3D14226=0149=3DYYY=0152=3D20060718-08:= 07:29.600=0156=3DXXX=017=3D71 50=0116=3D0=0110=3D182=01 Correct respons from QuickFIX/J: 8=3DFIX.4.2=019=3D94=0135=3D4=0134=3D7150=0143=3DY=0149=3DXXX=0152=3D2006= 0718-08:07:32.184=0156=3DYYY=01 122=3D20060718-08:07:32=0136=3D7204=01123=3DY=0110=3D080=01 8=3DFIX.4.2=019=3D75=0135=3D1=0134=3D7204=0149=3DXXX=0152=3D20060718-08:0= 7:38.143=0156=3DYYY=01112=3DT est OS, 10:07:38=0110=3D149=01 8=3DFIX.4.2=019=3D75=0135=3D1=0134=3D7205=0149=3DXXX=0152=3D20060718-08:0= 7:41.147=0156=3DYYY=01112=3DT est OS, 10:07:41=0110=3D142=01 Yesterday's scenario: 8=3DFIX.4.2=019=3D67=0135=3DA=0134=3D30499=0149=3DXXX=0152=3D20060718-11:= 29:33.504=0156=3DYYY=0198=3D0 =01108=3D180=0110=3D004=01 8=3DFIX.4.2=019=3D67=0135=3DA=0134=3D61254=0149=3DYYY=0152=3D20060718-11:= 29:34.083=0156=3DXXX=0198=3D0 =01108=3D180=0110=3D000=01 8=3DFIX.4.2=019=3D63=0135=3D2=0134=3D30500=0149=3DXXX=0152=3D20060718-11:= 29:36.728=0156=3DYYY=017=3D1=01 16=3D0=0110=3D023=01 8=3DFIX.4.2=019=3D76=0135=3D1=0134=3D30501=0149=3DXXX=0152=3D20060718-11:= 29:36.738=0156=3DYYY=01112=3D ResendHasFinished=0110=3D026=01 ResendRequest from YYY: 8=3DFIX.4.2=019=3D67=0135=3D2=0134=3D61255=0149=3DYYY=0152=3D20060718-11:= 29:34.087=0156=3DXXX=017=3D30 498=0116=3D0=0110=3D249=01 The correct Sequence Reset message is missing from QuickFIX/J... 8=3DFIX.4.2=019=3D76=0135=3D1=0134=3D30502=0149=3DXXX=0152=3D20060718-11:= 29:42.757=0156=3DYYY=01112=3D Test OS, 13:29:42=0110=3D201=01 8=3DFIX.4.2=019=3D76=0135=3D1=0134=3D30503=0149=3DXXX=0152=3D20060718-11:= 29:45.761=0156=3DYYY=01112=3D Test OS, 13:29:45=0110=3D203=01 When checking the Event log I found the following: 20060718-11:29:31.220: Session FIX.4.2:XXX->YYY schedule is daily, 00:00:00 UTC - 00:00:00 UTC 20060718-11:29:31.241: Created session: FIX.4.2:XXX->YYY 20060718-11:29:33.554: Initiated logon request 20060718-11:29:36.728: Received logon response 20060718-11:29:36.728: MsgSeqNum too high, expecting 1 but received 61254 20060718-11:29:36.738: Sent ResendRequest FROM: 1 TO: 0 20060718-11:29:36.788: Received ResendRequest FROM: 30498 TO: 0 20060718-11:29:36.819: Error during message processing java.lang.ClassCastException: quickfix.Message at quickfix.MessageCracker.crack(MessageCracker.java:48) at trader.quickfix.QuickFIXApplication.toApp(QuickFIXApplication.java:373) at quickfix.Session.resend(Session.java:757) at quickfix.Session.nextResendRequest(Session.java:698) at quickfix.Session.next(Session.java:585) at quickfix.mina.ThreadPerSessionEventHandlingStrategy$MessageDispatchingTh read.run(ThreadPerSessionEventHandlingStrategy.java:75) I'm sure that this ClassCastException is the problem but I have no idea what might be the cause. Anyone experienced the same thing? I'll check if I can recreate the problem and add some debug code to check what object type is passed when problem occurs. Thanks, /Eddie ------------------------------------------------------------------------ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDE V _______________________________________________ Quickfixj-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfixj-users -------------------------------------------------------- NOTICE: If received in error, please destroy and notify sender. Sender = does not waive confidentiality or privilege, and use is prohibited. |
|
From: Edde <edd...@gm...> - 2006-07-24 09:06:47
|
Hi Sankalp, > file "Fix.*.seqnums" contain the last exchanged sequence numbers between > the applications. A possible hack which worked for me was delete the > contents of client and server folders and restart the application . Well, this won't work for me since I'm trying to relogon to a previous session. This means that my counterparty are expecting a certain seqnum for the session and if I remove the .seqnums file I will try to logon with seqnum =3D 1 which isn't going to work. > An appropriate solution seems to be is to set "ResetOnLogout", > "ResetOnDisconnect","SendResetSeqNumFlag"(http://www.quickfixj.org/quick > fixj/usermanual/usage/configuration.html) in the application's .cfg file > for both the communicating applications. No, this is not a solution for me either. Since you've had the same problem I guess this makes the problem a bug in QuickFIX/J so I'll report this as a bug. Thanks, /Eddie > -----Original Message----- > From: qui...@li... > [mailto:qui...@li...] On Behalf Of Edde > Sent: Wednesday, July 19, 2006 5:09 AM > To: qui...@li...; edd...@gm... > Subject: [Quickfixj-users] ClassCastException in MessageCracker > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ Hi Guys, > > I've been using QuickFIX/J for a couple of weeks now and for the most > part I'm very happy with the result. Thanks to Steve and the rest for > finally making QuickFIX a pure Java application! > > However, yesterday when I had to restart our application I had some > issues when QuickFIX didn't respond correctly to a ResendRequest from > our counterparty. > > Normally this is what happens when I have to restart during the day: > > XXX =3D Me > YYY =3D Counterparty > > 8=3DFIX.4.2=019=3D53=0135=3DA=0134=3D7200=0149=3DXXX=0152=3D20060718-08:0= 7:30.231=0156=3DYYY=0110=3D10 > 8=01 > 8=3DFIX.4.2=019=3D66=0135=3DA=0134=3D7201=0149=3DXXX=0152=3D20060718-08:0= 7:30.261=0156=3DYYY=0198=3D0=01 > 108=3D180=0110=3D195=01 > 8=3DFIX.4.2=019=3D66=0135=3DA=0134=3D14225=0149=3DYYY=0152=3D20060718-08:= 07:29.596=0156=3DXXX=0198=3D0 > =01108=3D30=0110=3D212=01 > 8=3DFIX.4.2=019=3D62=0135=3D2=0134=3D7202=0149=3DXXX=0152=3D20060718-08:0= 7:32.134=0156=3DYYY=017=3D1=011 > 6=3D0=0110=3D222=01 > 8=3DFIX.4.2=019=3D75=0135=3D1=0134=3D7203=0149=3DXXX=0152=3D20060718-08:0= 7:32.134=0156=3DYYY=01112=3DR > esendHasFinished=0110=3D224=01 > > ResendRequest from YYY: > 8=3DFIX.4.2=019=3D66=0135=3D2=0134=3D14226=0149=3DYYY=0152=3D20060718-08:= 07:29.600=0156=3DXXX=017=3D71 > 50=0116=3D0=0110=3D182=01 > > Correct respons from QuickFIX/J: > 8=3DFIX.4.2=019=3D94=0135=3D4=0134=3D7150=0143=3DY=0149=3DXXX=0152=3D2006= 0718-08:07:32.184=0156=3DYYY=01 > 122=3D20060718-08:07:32=0136=3D7204=01123=3DY=0110=3D080=01 > 8=3DFIX.4.2=019=3D75=0135=3D1=0134=3D7204=0149=3DXXX=0152=3D20060718-08:0= 7:38.143=0156=3DYYY=01112=3DT > est > OS, 10:07:38=0110=3D149=01 > 8=3DFIX.4.2=019=3D75=0135=3D1=0134=3D7205=0149=3DXXX=0152=3D20060718-08:0= 7:41.147=0156=3DYYY=01112=3DT > est > OS, 10:07:41=0110=3D142=01 > > Yesterday's scenario: > > 8=3DFIX.4.2=019=3D67=0135=3DA=0134=3D30499=0149=3DXXX=0152=3D20060718-11:= 29:33.504=0156=3DYYY=0198=3D0 > =01108=3D180=0110=3D004=01 > 8=3DFIX.4.2=019=3D67=0135=3DA=0134=3D61254=0149=3DYYY=0152=3D20060718-11:= 29:34.083=0156=3DXXX=0198=3D0 > =01108=3D180=0110=3D000=01 > 8=3DFIX.4.2=019=3D63=0135=3D2=0134=3D30500=0149=3DXXX=0152=3D20060718-11:= 29:36.728=0156=3DYYY=017=3D1=01 > 16=3D0=0110=3D023=01 > 8=3DFIX.4.2=019=3D76=0135=3D1=0134=3D30501=0149=3DXXX=0152=3D20060718-11:= 29:36.738=0156=3DYYY=01112=3D > ResendHasFinished=0110=3D026=01 > > ResendRequest from YYY: > 8=3DFIX.4.2=019=3D67=0135=3D2=0134=3D61255=0149=3DYYY=0152=3D20060718-11:= 29:34.087=0156=3DXXX=017=3D30 > 498=0116=3D0=0110=3D249=01 > > The correct Sequence Reset message is missing from QuickFIX/J... > > 8=3DFIX.4.2=019=3D76=0135=3D1=0134=3D30502=0149=3DXXX=0152=3D20060718-11:= 29:42.757=0156=3DYYY=01112=3D > Test > OS, 13:29:42=0110=3D201=01 > 8=3DFIX.4.2=019=3D76=0135=3D1=0134=3D30503=0149=3DXXX=0152=3D20060718-11:= 29:45.761=0156=3DYYY=01112=3D > Test > OS, 13:29:45=0110=3D203=01 > > When checking the Event log I found the following: > > 20060718-11:29:31.220: Session FIX.4.2:XXX->YYY schedule is daily, > 00:00:00 UTC - 00:00:00 UTC > 20060718-11:29:31.241: Created session: FIX.4.2:XXX->YYY > 20060718-11:29:33.554: Initiated logon request > 20060718-11:29:36.728: Received logon response > 20060718-11:29:36.728: MsgSeqNum too high, expecting 1 but received > 61254 > 20060718-11:29:36.738: Sent ResendRequest FROM: 1 TO: 0 > 20060718-11:29:36.788: Received ResendRequest FROM: 30498 TO: 0 > 20060718-11:29:36.819: Error during message processing > java.lang.ClassCastException: quickfix.Message > at quickfix.MessageCracker.crack(MessageCracker.java:48) > at > trader.quickfix.QuickFIXApplication.toApp(QuickFIXApplication.java:373) > at quickfix.Session.resend(Session.java:757) > at quickfix.Session.nextResendRequest(Session.java:698) > at quickfix.Session.next(Session.java:585) > at > quickfix.mina.ThreadPerSessionEventHandlingStrategy$MessageDispatchingTh > read.run(ThreadPerSessionEventHandlingStrategy.java:75) > > I'm sure that this ClassCastException is the problem but I have no idea > what might be the cause. Anyone experienced the same thing? > I'll check if I can recreate the problem and add some debug code to > check what object type is passed when problem occurs. > > Thanks, > /Eddie > > ------------------------------------------------------------------------ > - > Take Surveys. Earn Cash. Influence the Future of IT Join > SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDE > V > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > -------------------------------------------------------- > > NOTICE: If received in error, please destroy and notify sender. Sender d= oes not waive confidentiality or privilege, and use is prohibited. > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share y= our > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDEV > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > |