question

Upvotes
Accepted
46 4 5 10

trep connection timeout

my application request first realtime code chain at 9:20 and request first delay code chain at 9:40. The realtime code chain request is ok, but when I request delay code chain, many timeout occurs for the first delay code chain, and thus cannot more consequent chains. The timeout may occur many minutes, with lots of message like this:

onStatusMsg: [2020-01-03 23:00:01 670769][38:140340090267392]
Item Name: 0#/UNIVERSE.PK
Service Name: ELEKTRON_DD
Item State: Open / Suspect / Timeout / 'Request timed out.'

and then

onStatusMsg: [2020-01-03 23:00:13 242627][38:140340090267392]
Item Name: 0#/UNIVERSE.PK
Service Name: ELEKTRON_DD
Item State: Open / Suspect / None / 'Service for this item was lost.'


But if I restart my application, all code chain can be requested well. So it seems the physical connection from my application to trep server should be fine. Why the previous

timeout occurs continuously. I know ema sdk(c++) will try to reconnect but why it always connects with timeout ? Can I view more log information from sdk where I can inspect what

is wrong? Thanks.

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

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

1 Answer

Upvotes
Accepted
20.3k 73 10 20

Hi @wangfugen

Two things you can try.

Increase the LoggerSeverity::Verbose and ideally set LoggerType::File for whichever Logger definition you are using in your (Default?) Consumer config. This will allow you to study the API level log fully. You also then have the option of easily upload the content here.

The other thing you can do is enable low level tracing as follows:

In your EmaConfig.xml you can add the XmlTraceToFile parameter for the Channel that you wish to enable Xml Trace for.

e.g.

<Channel>

<Name value="Channel_1"/>

<ChannelType value="ChannelType::RSSL_SOCKET"/>

<CompressionType value="CompressionType::None"/>

<GuaranteedOutputBuffers value="5000"/>

<Host value="10.13.225.38"/>

<Port value="14002"/>

<XmlTraceToFile value="1"/>

</Channel>

The above should enable trace of request and response messages and may shed some light on what is happening - default filename is 'EmaTrace'.
Please refer to the EmaCPP_ConfigGuide.pdf for details on this and other XmlTrace related parameters. You can find this file in the Cpp-C\Ema\Docs of the ElektronSDK or online.

Based on past experience, my gut feeling would be that the server you are connecting to is disconnecting you at some point - after an initial successful connection. It may be worth asking your Market Data team to check their ADS logs for any reported disconnects.

icon clock
10 |1500

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

Click below to post an Idea Post Idea