question

Upvotes
4 2 1 3

EMA TRCC disconnect handling

Hi,

I'm trying to understand how to handle disconnect/reconnect events in TRCC application. I have the following sequence of events and reaction of my application on them:

1. StatusMsg with state="Open / Suspect / None / 'channel down'" received on Login stream

2. StatusMsg with state="Open / Suspect / None / 'Channel is down.'" received on Login stream

3. StatusMsg with state="Closed, Recoverable / Suspect / None / 'Service for this item was lost.'" received on Tunnel stream

3. Application stops posting data

4. StatusMsg with state="Open / Ok / None / 'channel up'" received on Login stream

5. RefreshMsg with state="Open / Ok received on Login stream

5. Application sends and registers new Tunnel stream request

6. StatusMsg with state="Closed, Recoverable / Suspect / None / 'No matching service present.'" received on new Tunnel stream

7. Application is not connected and cannot post anything

So technically reconnection is successful on Login stream and API doesn't try to reconnect again. But tunnel stream is in "Closed, Recoverable" state and I cannot create new tunnel substream for data posting. What am I missing here? Should I unregister Tunnel stream and Tunnel substream upon receiving Open / Suspect on Login stream (although both these streams are closed as per EMA log...)?

Added EMA log: emalog.txt

elektronrefinitiv-realtimeelektron-sdkema-apirrtelektron-message-apircc-apidisconnection
emalog.txt (33.9 KiB)
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
4 2 1 3

Any thoughts on this? Maybe I received "Closed, Recoverable / Suspect" state on newly requested Tunnel stream because requested service was not up? Then what is recommended way to handle such case? I'm asking because it is not possible to reproduce this case on my side (it happened only once during 3 weeks of testing).

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
4 2 1 3

Ok, this is not some kind of special case. I tried to drop TCP connection with iptables and got exactly the same sequence of events:

1. Connection is down

2. Successful reconnect on Login stream with Refresh message

3. New Tunnel stream requested

4. "Closed, Recoverable / Suspect / None / 'No matching service present.'" state on newly created tunnel stream

I can restore connection only with full application restart, is it expected behavior?

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
21.8k 57 14 21

Hi @evgeniyk, I have asked the TRCC development to look into the issue and provide a resolution. I will let you know their findings.

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
21.8k 57 14 21

Update Sept 2020:

The bug is not fixed in the latest ESDK (1.5.1) yet. The development team expects it to be fixed in RTSDK 2.0.1 L1.

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.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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