RFA InvalidUsageException when deocode filedlist
Sometime my application crash and RFA throw rfa::common::InvalidUsageException when my RFA application decode FieldList and it calls FieldListReadIterator::start().
Below is call stack:
#6 0x00007f2c04da6f6f in rfa::common::InvalidUsageExceptionImpl::throwInvalidUsageExceptionImpl(rfa::common::Exception::CommonErrorType, rfa::common::Exception::CommonErrorSeverityType, rfa::common::Exception::CommonErrorClassificationType, rfa::common::GeneralExceptionStatus::State, rfa::common::GeneralExceptionStatus::StatusCode, rfa::common::RFA_String const&) ()
from /usr/local/rfa7.6.0.L1.linux/Libs/RHEL6_64_GCC444/libRFA_Common.so
#7 0x00007f2c041cc43e in rfa::data::FieldListReadIterator::start(rfa::data::FieldList const&, unsigned char, rfa::data::FieldListDef*) ()
from /usr/local/rfa7.6.0.L1.linux/Libs/RHEL6_64_GCC444/libRFA_Data.so
What can cause the exception and how to handle the error?
Best Answer
-
-The exception you are experiencing, it could be an issue when the data feed send Refresh or Update which the payload contains invalid or empty FieldList. You should contact data feed support team to verify data at the time the problem occurs. For the application side, basically you can add code to verify if the FieldList you want to decode contains Blank data or not by calling FieldList.isBlank() method.
You may add the codes to verify the data like below sample before decode it and if it’s blank FieldList you may have some code to report the issue to user and then they can contact Data feed support to verify issue on infra side.
-In case of incomplete data inside FieldList you may add try/catch block to catch the invalid usage exception to avoid the crash. That is the way application side can prevent the crash in case of invalid data come from network or data feed.
if (!FieldList.IsBlank)
{
Try{
... Decode FieldList
}catch(InvalidUsageException ex)
{
… Report issue
}
}else
{
... Report issue
}-If you want to investigate the issue and confirm that what kind of data your application receive, you may try the RIC which you often see the issue with one of Consumer example. And you have to turn on RSSL tracing log in the Consumer example if you can’t turn it on in your application. You can leave it run until your application found the issue again and then you can open the RSSL tracing log which generated by Consumer example to see the data it receive at the time the invalid usage exception occurs.
Please see configuration from the following post to turn on full RSSL tracing log. It will generate RSSLConsumerTrace_<pid>.xml in running directory.
If you could replicate the issue again, we can check the data in RSSL tracing log to confirm that it’s blank FieldList or not and then you can contact data Data feed support team to investigate the issue further.
0
Answers
-
Thanks, will add the check in my codes.
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
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛