INCOMPLETE_DATA & NO_DATA messages from Elektron
For certain symbols out of a huge data set, some of then return back INCOMPLETE_DATA
java.lang.RuntimeException: Can't iterate field entry: INCOMPLETE_DATA
and sometimes these exceptions
Decode exception for stream id 44 - {}
java.lang.NullPointerException
at com.thomsonreuters.upa.codec.D.A(Unknown Source)
at com.thomsonreuters.upa.codec.i.decode(Unknown Source)
at com.bfm.streaming.trep.codec.PayloadDecoder.apply(PayloadDecoder.java:33)
at com.bfm.streaming.trep.codec.PayloadDecoder.apply(PayloadDecoder.java:14)
at com.bfm.streaming.trep.codec.IncrementalDecoder.apply(IncrementalDecoder.java:172)
at com.bfm.streaming.trep.codec.IncrementalDecoder.apply(IncrementalDecoder.java:51)
at com.bfm.streaming.trep.MarketPriceSubscription.get(MarketPriceSubscription.java:165)
at com.bfm.streaming.StreamingUtil$1.get(StreamingUtil.java:33)
at com.bfm.streaming.topology.CancellableSource.get(CancellableSource.java:34)
at com.bfm.streaming.StreamingUtil.forEach(StreamingUtil.java:158)
at com.bfm.streaming.topology.TopologyBuilder.lambda$subscribeAsync$11(TopologyBuilder.java:246)
at java.lang.Thread.run(Thread.java:748)
Decode exception for stream id 787 - {}
java.lang.ArrayIndexOutOfBoundsException: -1
at com.thomsonreuters.upa.codec.D.A(Unknown Source)
at com.thomsonreuters.upa.codec.i.decode(Unknown Source)
at com.bfm.streaming.trep.codec.PayloadDecoder.apply(PayloadDecoder.java:33)
at com.bfm.streaming.trep.codec.PayloadDecoder.apply(PayloadDecoder.java:14)
at com.bfm.streaming.trep.codec.IncrementalDecoder.apply(IncrementalDecoder.java:172)
at com.bfm.streaming.trep.codec.IncrementalDecoder.apply(IncrementalDecoder.java:51)
at com.bfm.streaming.trep.MarketPriceSubscription.get(MarketPriceSubscription.java:165)
at com.bfm.streaming.StreamingUtil$1.get(StreamingUtil.java:33)
at com.bfm.streaming.topology.CancellableSource.get(CancellableSource.java:34)
at com.bfm.streaming.StreamingUtil.forEach(StreamingUtil.java:158)
at com.bfm.streaming.topology.TopologyBuilder.lambda$subscribeAsync$11(TopologyBuilder.java:246)
at java.lang.Thread.run(Thread.java:748)
Can you please help understand what could be causing these exceptions and messages?
Best Answer
-
According to the UPA/ETA documentation that error enum 'Indicates that the RsslBuffer on the RsslDecodeIterator does not have enough data for proper decoding'
This would suggest that whatever you are passing to the upa decode function has been truncated somewhere.
I would recommend you trace out the low level messages - see this post for further details - to confirm you are receiving a complete payload from the server. The actual question above is related to ETA C, but that specific post also talks about enabling XML Trace ini ETA Java.
0
Answers
-
Thank you for the response.
So the INCOMPLETE_DATA & NO_DATA both point to truncated buffer?
Let me put trace on and see if this helps point the source.
Will keep this post open for now
0 -
NO_DATA indicates there is no content i.e. empty payload
• When RSSL_DT_NO_DATA is housed in a message, the message has no payload.
• If RSSL_DT_NO_DATA is housed in a container type,each container entry has no payload
0 -
Yeah I ran the trace and looks like we get
01-29-20 09:07:25,777 DEBUG: TopologySink#0: com.bfm.streaming.trep.session.ResponseLogger - <STATUS domainType="MARKET_PRICE" streamId="937" containerType="NO_DATA" flags="0x28 (HAS_MSG_KEY|HAS_STATE)" State: Open/Suspect/None - text: "A27: Synchronization Error. Recalling." dataSize="0">
<key flags="0x07 (HAS_SERVICE_ID|HAS_NAME|HAS_NAME_TYPE)" serviceId="257" name="USD20YOIS=ICAP" nameType="1"/>
<dataBody>
</dataBody>
</STATUS>
01-29-20 09:07:25,777 ERROR: TopologySink#0: com.bfm.streaming.trep.codec.IncrementalDecoder - Received STATUS message for key - USD20YOIS=ICAP, streamId - 937. TREP response: A27: Synchronization Error. Recalling.
and then..... after few more lines in log:
01-29-20 09:07:25,777 ERROR: TopologySink#0: com.bfm.streaming.trep.codec.IncrementalDecoder - Received STATUS message for key - USD9YOIS=ICAP, streamId - 924. TREP response: A27: Synchronization Error. Recalling.
01-29-20 09:07:25,778 ERROR: TopologySink#1: com.bfm.streaming.trep.codec.IncrementalDecoder - Decode exception for stream id 937 - {}
java.lang.RuntimeException: Can't decode field list: INCOMPLETE_DATA
Thank you for the explanation.
0 -
The ADS server sends an A27 status message when it loses an update (tick). Such a loss can be caused by a network problem that resulted in packet loss. You should speak with your Market Data team and/or raise a ticket with the Refinitiv Helpdesk for Elektron to investigate this further.
Also, when you get any Status Message response they don't normally contain any payload, so there would be nothing to decode.
Do you check the msg type before deciding if you need to call decode?
See the sample app in Eta\Applications\Examples\src\main\java\com\thomsonreuters\upa\examples\consumer for an example of how to handle status type message.
0
Categories
- All Categories
- 6 AHS
- 37 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
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛