Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Session accumulate in pendingInitiatorSessions when logon fails #515

Open
0x26res opened this issue Jul 23, 2024 · 0 comments
Open

Session accumulate in pendingInitiatorSessions when logon fails #515

0x26res opened this issue Jul 23, 2024 · 0 comments

Comments

@0x26res
Copy link

0x26res commented Jul 23, 2024

I've noticed that my ARTIO application get in a bad state every time they fail to initialise.

Here's what typically happens:

  • my application start
  • I try to connect a session with FixLibrary.initiate
  • The session logon fails. Typically it is an issue with offset where the remote endpoint request a reset
  • I reset offset, reconnect with FixLibrary.initiate everything is good this time.
  • It's end of day I request a logout Session.startLogout on each FixLibrary.sessions(). That's when I notice that a log out message is issued twice on the session.

So what I've noticed is that here are duplicates in the pendingInitiatorSessions and sessions, whenever a session fails to logon.

I tried to call releaseToGateway on the fail logon attempt, but it does not help.

I've created a branch where I've set up the SampleServer/SampleClient to fail in such a way, and I print the size of pendingInitiatorSessions. It's here: https://github.com/real-logic/artio/compare/master...0x26res:artio:reproduce-issue-with-pending-sessions?expand=1

When I run it I can see that each initial attempt to connect adds a session to pendingInitiatorSessions. Once we're finally connected, I ended up with multiple session ins sessions.

PENDING SESSIONS: 1 SESSIONS: 0
PENDING SESSIONS: 2 SESSIONS: 0
PENDING SESSIONS: 3 SESSIONS: 0
PENDING SESSIONS: 0 SESSIONS: 4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant