You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trading-host restarts and attempts to reconnect with an incremented sessionVerId, matching-platform rejects with DUPLICATE_SESSION_CONNECTION instead of allowing session takeover.
Expected Behavior
Per FIXP spec, when a client reconnects with a higher sessionVerId than the previous connection:
TryForceTakeOver() should detect verId > lastRecordedVerId
Old session should be evicted
New session should be established
Orders should remain valid on the exchange
Actual Behavior
Trading-host persists SessionVerId: 2 in snapshot.json
On restart, trading-host should send SessionVerId: 3
Matching-platform rejects with DUPLICATE_SESSION_CONNECTION
TryForceTakeOver() never triggers (no "taking over sessionId=X" log)
Problem
When trading-host restarts and attempts to reconnect with an incremented sessionVerId, matching-platform rejects with
DUPLICATE_SESSION_CONNECTIONinstead of allowing session takeover.Expected Behavior
Per FIXP spec, when a client reconnects with a higher sessionVerId than the previous connection:
TryForceTakeOver()should detect verId > lastRecordedVerIdActual Behavior
SessionVerId: 2in snapshot.jsonSessionVerId: 3DUPLICATE_SESSION_CONNECTIONTryForceTakeOver()never triggers (no "taking over sessionId=X" log)Evidence
No "taking over sessionId" message appears in matching logs.
Impact
Root Cause Analysis Needed
TryForceTakeOver()being called at all?SessionClaimRegistry?Files to Investigate
src/B3.Exchange.Gateway/SessionClaimRegistry.cs- TryForceTakeOver logicsrc/B3.Exchange.Gateway/FixpSession.Negotiate.cs- Session takeover triggersrc/B3.Exchange.Gateway/FixpSessionManager.cs- Session lifecycleReproduction
Related