Request ID Behaviour following reset Sequence Number

For messages such as TradingSessionListRequest (35=BI) and also more generally:

IF a request ID has been sent (335=123456)
WHEN the session logs out/in and resets sequence number
SHOULD the request ID also be cleared out and therefore re-usable
OR should sending the same request ID result in a reject?

Fiximate says about 335/TradSesReqID:

Unique ID of a Trading Session Status message.

So resetting that ID would not make it unique.

https://fiximate.fixtrading.org/en/FIX.Latest/tag335.html

I think session-level sequence numbers should be seen separate from the application level.

1 Like

TradSesReqID(335) is used in a handful of FIX messages related to trading sessions. There are two request messages (TradingSessionStatusRequest(35=g) and TradingSessionListRequest(35=BI)) that support subscriptions with SubscriptionRequestType(263), which is a required field in these messages.

The previously sent TradSesReqID(335) is hence required to be sent a second time to end such a subscription (it needs to be unique per subscription and not unique in general). I do not see a reason to automatically end all subscriptions when a session gets disconnected since this ID is on the application level. Once the connection is back up, the application can continue to honor the subscription until it is disabled.

However, it is not recommended to re-use the same request ID for a different subscription. If the “subscription” is actually just a snapshot, then TradSesReqID(335) acts just like any other request message identifier that should not be re-used for another request. This minimizes the potential for confusion on the side of the recipient of the request.

1 Like

Thanks very much for you response, much appreciated.

Thanks very much for you response, much appreciated.