IP receives multiple close requests on same RIC
Hi,
We have a couple of old IP's which use SSL and those are now due to be replaced with RSSL driven IP's.
We noticed a strange behavior with the new RSSL IP's when requesting RIC's via either Eikon or a Reuters SDK/Script. Basically what happens is that if you request a RIC, let's call it RIC1. I can see us receiving the request in our IP, we respond to it and I get values back in our requesting application.
If I close the socket, I can see our IP receiving a close request. So far so good.
Now if I request anything, RIC2, RIC3, or RIC1 again, the TREP will only keep sending close requests for RIC1.
Here are some logs to show this behavior.
Client requests and receives response
Connecting to market data server
Subscribing to market data for EUR/USD
----------------------------------
Refresh message, item Handle: 7577440 Closure: 0
Item Name: EUR/USD
Service Name: TBID-DEV
Item State: Open / Ok / None / 'Refresh Completed'
Fid: 22 Name: BID DataType: Real Value: 1.16416
Fid: 25 Name: ASK DataType: Real Value: 1.16478
Fid: 30 Name: BIDSIZE DataType: Real Value: 2e+07
Fid: 31 Name: ASKSIZE DataType: Real Value: 2e+07
Here is the same request in our IP
15:54:29.553 Status Got market price request: ReqMsg
streamId="1881"
domain="MarketPrice Domain"
InitialImage
InterestAfterRefresh
ConflatedInUpdates
priorityClass="1" priorityCount="1"
qosRate="TickByTick"qosTimeliness="RealTime"
name="EUR/USD"
nameType="1"
serviceId="1"
serviceName="TBID-DEV"
ReqMsgEnd
, handle: 140734437190848
We kill the client subscription, and this is what our IP receives.
15:54:33.907 Status Got close request: ReqMsg
streamId="1881"
domain="MarketPrice Domain"
name="EUR/USD"
nameType="1"
serviceId="1"
serviceName="TBID-DEV"
ReqMsgEnd
, handle: 140734437190848
We request the same RIC again, and this is what our IP receives
15:54:39.562 Status Got close request: ReqMsg
streamId="1881"
domain="MarketPrice Domain"
name="EUR/USD"
nameType="1"
serviceId="1"
serviceName="TBID-DEV"
ReqMsgEnd
, handle: 140734437190848
This is what our client receives in this scenario
Connecting to market data server
Subscribing to market data for EUR/USD
Status message
Item Name: EUR/USD, Service Name: TBID-DEV
Stream state: 1 Status code: Status text: Request timed out.
Status message
Item Name: EUR/USD, Service Name: TBID-DEV
Stream state: 1 Status code: Status text: F49: Item is pending close. Please retry
Any help on what can be the cause of this is appreciated as I'm currently not sure if this is a problem on our TREP side or if it's with our new IP application.
Best Answer
-
This is strange. It looks like the interactive provider application got a close request for the second subscription.
We request the same RIC again, and this is what our IP receives
15:54:39.562 Status Got close request: ReqMsg
streamId="1881"
domain="MarketPrice Domain"
name="EUR/USD"
nameType="1"
serviceId="1"
serviceName="TBID-DEV"
ReqMsgEnd
, handle: 140734437190848You may need to enable XML tracing in the API to verify the problem. Please refer to the Enterprise Message API (EMA) - Configuration Overview article.
It could be a problem on the TREP side.
0
Answers
-
Thanks for the XML tracing tip, so we've found the issue now.
With the .xml tracing we saw that we actually never received a second close from the TREP but in reality a request.
And we found a "feature" in our code which caused the close to never be removed from a message queue basically, so when the new request arrives, we read the close from the queue again and again.
Thanks for the assistance on this!
//Jonas
0
Categories
- All Categories
- 6 AHS
- 39 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 60 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛