US OPRA data contains up to 1 million single RICs therefore we often use chain RIC to retrieve single RICs and then subscribe those RICs. But we found out there are some invalid RICs in chain RICs and often lead to the application error. Is there any other way to retrieve so huge RICs except using chain RIC?
To retrieve data of many RICs, one possible way is to use Batches feature which allows a consumer can request multiple RICs using a single client-based request. The server responds by sending the RICs as if they were opened individually. Please refer to example370__MarketPrice__Batch for Batches feature example application.
Anyway, ETA underlying of EMA has the limitation that the encoded length of element entry(list of RICs) cannot be longer than 65,535 bytes otherwise an error will be thrown. Hence, you need to split your all RICs to be multiple batch requests e.g. 7,000 RICs. You may have to remove invalid RICs from the list of RICs in order to avoid invalid RICs errors.
The Elektron APIs are content agnostic - they will just provide the response from the server to your item requests.
It is up to your application to gracefully handle the response you get for an invalid RIC request. if you request an invalid RIC, you should get a StatusMsg with a Closed stream state and a status code like 'NOT_FOUND'.
A status message is not considered an error - rather the state of your request.
Is there any way to get the data for only selected fid values with Elektron APi EMA java snapshot class as currently we see it gives the entire list of data for a particular service name and RIC feed value