DynamicAcceptorSessionProvider encounters "Multiple logons not allowed" error with 1.6.1

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

DynamicAcceptorSessionProvider encounters "Multiple logons not allowed" error with 1.6.1

Yukun Song - Yieldbroker
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/



Hi,

 

I’m using DynamicAcceptorSessionProvider in my FIX acceptor with quickfixj-1.6.1. My DynamicAcceptorSessionProvider loads session configs from database, so my session.cfg file is like below, plus some SenderCompID and global config settings:

 

[session]

AcceptorTemplate=Y

BeginString=FIX.4.4

TargetCompID=*

TargetSubID=*

 

My test client logins and sends in around 100 messages within a second after every 5 seconds. Its session lasts 10 seconds before logout then login immediately. It keeps repeating the process. My FIX acceptor responds with an ack message for every incoming message. After a few minutes, my client starts missing some messages and sends in TEST_REQUEST. A few more minutes later, my FIX acceptor throws missing heartbeat error and disconnects. When the client tries to connect back, my DynamicAcceptorSessionProvider throws “Multiple logons/sessions are not allowed” error.

 

Another scenario is, when my test client keeps its session and sends 100 messages in a second every few seconds, under certain unstable network, the client detects missing heartbeat and sends in LOGOUT. My FIX acceptor detects session with no responder so it doesn’t send out LOGOUT.  When the client tries to login back, the DynamicAcceptorSessionProvider gets “Multiple logons/sessions are not allowed” error.

 

I’ve found some jiras and mail list related to the problem.

http://www.quickfixj.org/jira/browse/QFJ-412

http://www.quickfixj.org/jira/browse/QFJ-804

http://www.quickfixj.org/jira/browse/QFJ-759

http://quickfix-j.364392.n2.nabble.com/Dynamic-sessions-not-recognizing-disconnection-td6520707.html

 

Are they resolved and included in quickfixj-1.6.1?

 

With a fresh download of quickfixj-1.6.1 from https://github.com/quickfix-j/quickfixj/archive/QFJ_RELEASE_1_6_1.zip , when I run the maven build with unit test, I see below test failures. Is 1.6.1 a recommended release?

 

Failed tests:

  SessionTest.testAcceptorRelogon:1632 null

  SessionTest.testDontCatchErrorsFromCallback:1462 expected:<[java.lang.Error: TEST]> but was:<[No error thrown]>

  SessionTest.testResendRequestMsgSeqNum:1172 Session should be logged out since seqnum too low!

  SessionTest.testSequenceResetStackOverflow:1044 expected:<51> but was:<50>

  SessionTest.testSimultaneousResendRequests:1225 null

  SessionTest.testStateFlagsAreResetOnLogout:1670 null

 

Interestingly, when I downgrade to quickfixj-1.5.3, I see some TEST_REQUESTs, but I don’t get “Multiple logons/sessions are not allowed” error.

 

Has anyone had similar problem?

 

Best regards,

 

Yukun Song

 


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: DynamicAcceptorSessionProvider encounters "Multiple logons not allowed" error with 1.6.1

Christoph John
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/


Hi,

I can only speculate whythe tests are failing on your machine. They run fine on my machine and the
build server.

The issues you mention should be fixed in 1.6.1, apart from the last one QFJ-759 which was closed as
"cannot reproduce". The most common reason for the "timed out waiting for heartbeat" is either that
the network is unreliable or that QFJ is taking too much time processing incoming messages. This
might be related to long-running processing that you are doing in your fromApp() callback method.
But again, this is only speculation.

The best thing would probably be if you could take some stack dumps with the jstack toolduring
various phases. That way we could see if QFJ is locking up at some point.

Best regards,
Chris.

On 14/03/16 02:35, Yukun Song - Yieldbroker wrote:

> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>
>
>
>
> Hi,
>
> I’m using DynamicAcceptorSessionProvider in my FIX acceptor with quickfixj-1.6.1. My
> DynamicAcceptorSessionProvider loads session configs from database, so my session.cfg file is like
> below, plus some SenderCompID and global config settings:
>
> [session]
>
> AcceptorTemplate=Y
>
> BeginString=FIX.4.4
>
> TargetCompID=*
>
> TargetSubID=*
>
> My test client logins and sends in around 100 messages within a second after every 5 seconds. Its
> session lasts 10 seconds before logout then login immediately. It keeps repeating the process. My
> FIX acceptor responds with an ack message for every incoming message. After a few minutes, my
> client starts missing some messages and sends in TEST_REQUEST. A few more minutes later, my FIX
> acceptor throws missing heartbeat error and disconnects. When the client tries to connect back, my
> DynamicAcceptorSessionProvider throws “Multiple logons/sessions are not allowed” error.
>
> Another scenario is, when my test client keeps its session and sends 100 messages in a second
> every few seconds, under certain unstable network, the client detects missing heartbeat and sends
> in LOGOUT. My FIX acceptor detects session with no responder so it doesn’t send out LOGOUT.  When
> the client tries to login back, the DynamicAcceptorSessionProvider gets “Multiple logons/sessions
> are not allowed” error.
>
> I’ve found some jiras and mail list related to the problem.
>
> http://www.quickfixj.org/jira/browse/QFJ-412
>
> http://www.quickfixj.org/jira/browse/QFJ-804
>
> http://www.quickfixj.org/jira/browse/QFJ-759
>
> http://quickfix-j.364392.n2.nabble.com/Dynamic-sessions-not-recognizing-disconnection-td6520707.html
>
> Are they resolved and included in quickfixj-1.6.1?
>
> With a fresh download of quickfixj-1.6.1 from
> https://github.com/quickfix-j/quickfixj/archive/QFJ_RELEASE_1_6_1.zip , when I run the maven build
> with unit test, I see below test failures. Is 1.6.1 a recommended release?
>
> Failed tests:
>
>   SessionTest.testAcceptorRelogon:1632 null
>
> SessionTest.testDontCatchErrorsFromCallback:1462 expected:<[java.lang.Error: TEST]> but was:<[No
> error thrown]>
>
> SessionTest.testResendRequestMsgSeqNum:1172 Session should be logged out since seqnum too low!
>
> SessionTest.testSequenceResetStackOverflow:1044 expected:<51> but was:<50>
>
> SessionTest.testSimultaneousResendRequests:1225 null
>
> SessionTest.testStateFlagsAreResetOnLogout:1670 null
>
> Interestingly, when I downgrade to quickfixj-1.5.3, I see some TEST_REQUESTs, but I don’t get
> “Multiple logons/sessions are not allowed” error.
>
> Has anyone had similar problem?
>
> Best regards,
>
> Yukun Song
>
>
>
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
>
>
> _______________________________________________
> Quickfixj-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users

--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[hidden email]
       


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
       
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Quickfixj-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Loading...