question

Upvotes
Accepted
5 1 0 2

What is the maximum number of RICs in an EMA batch request?

Hi,

I attempted to implement batch request as it is described in Elektron-SDK/example/Ema/Training/Consumer/300_Series/370__MarketPrice__Batch/Consumer.cpp. What is the maximum number of RICs in a batch request? It looks like the limit is between 6000 and 7000. We have a group of RICs with ~18000 items and I had to break it up 4 batch requests.

Thanks

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
Accepted
7.6k 15 6 9

In API, a batch is an array in the element entry. Its limitation is defined by the limitation of array and element entry. In case of a batch request, its array size is limited to around 65535 bytes because it is in the element entry. Therefore the maximum number of item vary on size of a number of character in item name you pass to the array as well.

Overall size should not over 65535 bytes and I think there is the reason that you get limit between 6000-7000 from your test.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
24.6k 86 10 22

Hi @peter.meszaros

There is a 65535 byte limit on the size of the ElementList entry that is used when making the Batch request.

Please refer to the ETAJ_Devguide in the section about ElementList for further details.

As you may know EMA is a wrapper around the lower level ETA.

So, the actual number of RICs you can request in a single batch will be determined by the total length of the individual RIC codes.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
5 1 0 2

Thanks moragodkrit, Umer.

Is this limit value can be included from any c++ header file?

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

As far as I understand, we could not change it in EMA header.

Upvotes
5 1 0 2

I do not want to change the value but use it if exist. Instead of hardcoding 65535 in my codebase I would like to write something more elegant, like this:

if (ricslength > thomsonreuters::ema::access::MaxLength) { ... }

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

I can't find it in the EMA code. In EMA, it is defined as a preprocessor macro.

#define MAX_UNSIGNED_INT16		0xFFFF

You can raise this concern via the Elektron-SDK GitHub.