Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant