RICs data not coming back
Hi
I am using Java EMA API. I am sending 53000 RICs using my program. But when I see in my Analytics APP (AWS), I don't find RICs, which are supposed to be there. I doubt if I am getting all the RICs data back. When I send only the RICs (supposed to appear in my app around 1900), then I can see those RICs data in the app. Following is part of my code, which sends data to API.
public static OmmArray processResultRows(AthenaClient athenaClient, String queryExecutionId,OmmArray arrayI,ElementList batchView,AppClient appClient,OmmConsumer consumer,OmmArray array) throws IOException {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("C:\\Users\\Operations\\Desktop\\RICS\\RicsGotIn.csv"));
GetQueryResultsRequest getQueryResultsRequest = GetQueryResultsRequest.builder()
// Max Results can be set but if its not set,
// it will choose the maximum page size
// As of the writing of this code, the maximum value is 1000
// .withMaxResults(1000)
.queryExecutionId(queryExecutionId).build();
GetQueryResultsIterable getQueryResultsResults = athenaClient.getQueryResultsPaginator(getQueryResultsRequest);
int j = 0;
for (GetQueryResultsResponse result : getQueryResultsResults) {
List<ColumnInfo> columnInfoList = result.resultSet().resultSetMetadata().columnInfo();
List<Row> results = result.resultSet().rows();
processRow(results, columnInfoList,arrayI,writer);
batchView.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_BATCH_ITEM_LIST, arrayI));
batchView.add(EmaFactory.createElementEntry().uintValue(EmaRdm.ENAME_VIEW_TYPE, 1));
batchView.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_VIEW_DATA, array));
try {
consumer.registerClient(EmaFactory.createReqMsg().serviceName("ELEKTRON_DD").payload(batchView), appClient);
}catch(Exception e) {
consumer.registerClient(EmaFactory.createReqMsg().serviceName("ELEKTRON_DD").payload(batchView), appClient);
}
j = j + 1;
//consumer.uninitialize();
arrayI = null;
arrayI = EmaFactory.createOmmArray();
}
System.out.println("The value of j is:" + j);
} catch (AthenaException e) {
Is there any restriction on the number of RICs, I am supposed to send?
GE-XXXXXX is the username.all_input_rics.zip
Attached is the file, which has all the RICs, I am requesting data for. Please let me know, if I should send you the full code.
Thanks
Dhruv
Best Answer
-
Hello @dhruv.arora,
Firstly, you are correct, the total max ERT entitlement is for 50K RICs.
However, I would not recommend submitting all 50K in one batch, rather, I would submit more reasonable batches of 2-3K. (I would also examine the response per batch, and make sure if any invalid/expired RICs you would not be submitting them next time that you submit that batch)
I would additionally, for larger performance requirements, increase EMA GuaranteedOutputBuffers parameter in EmaConfig.xml. If you go with 2-3K batches, GuaranteedOutputBuffers 10K should work well, if you go with extra-large batches, you may wish to test and tune the configuration to your consumer requirements.
0
Answers
-
I am attaching my code here.Consumer.txt
I am sending the RICs in batches only (please check the code), but still not getting RICs. Also, as you said in your answer to use GuaranteedOutputBuffers , I am not using config. Is there any other way to implement GuaranteedOutputBuffers programmatically ?
Thanks
Dhruv
0 -
forgot to add, one batch is of 1000 RICs so the loop runs 54 times
0 -
Hi @dhruv.arora,
Having looked at your RIC list file:
- Each instrument is quoted, so if you submit as is, they will all come up as "not found".
- There is an empty line on line 6866 which should cause an error on submit.
- A significant percentage of the instruments appear to be invalid RICs.
However, this got me to think, are you printing/logging the responses that you get back in the callbacks? Are you seeing Refresh, Update, Status messages pertaining to the RICs that you request, so once you tally the responses, you should know exactly how many you are getting back? And what errors/status conditions happen?
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 中文论坛