question

Upvotes
Accepted
20 0 1 2

Changing EMA ChannelSet failover logic

We have the following setup:

<ChannelSet value="PROD_A, PROD_B, DR"/>

So under normal condition, application is connecting to PROD_A.
Based on tests I run I then see:

- if PROD_A goes down, EMA will connect to PROD_B
- if PROD_B goes down, EMA will connect to DR

Is there any way to make EMA automatically try re-connecting to PROD_A instead of going to DR?
Or would this have to be done through the code?

The above failover logic makes it necessary to re-start application after doing any maintenance in our production environment, even if we don't bring both PROD_A and PROD_B sides down at the same time.

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
38.1k 71 35 53

To change this behavior, I think that you need to modify the internal code in the ETA value add library. Then, rebuild the EMA and ETA value add libraries.

Otherwise, the application needs to use two OmmConsumer. The first consumer is for PROD_A and PROD_B and the second consumer is for DR. If the first consumer is unable to connect to PROD_A and PROD_B, the application can destroy the first consumer and then create a new one which connects to DR.

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