question

Upvote
Accepted
210 4 5 8

Proper behavior for an interactive provider upon loss of upstream communication

Hello All,

Can someone tell me what the proper behavior is for an interactive provider connected to TREP that looses its upstream communication. We are sending Closes for all its items if singleOpen is True and Close-Recover if singleOpen is set to False. The problem is that if singleOpen is True, the items are never recovered, and if False, the items are put on the recovery queue and not recovered for two minutes. The preferred behavior is to have the items recovered immediately. Is this the correct behavior or should they be doing something different? Where can I find documentation about the correct behavior in this situation.

Thanks

elektronrefinitiv-realtimeelektron-sdktreprfa
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
1.2k 23 28 42

SingleOpen = true means the provider drives the recovery, which means the provider detects upstream status and provides feedback to the consumer. The provider should update the service directory to set ServiceState to "down", and optionally AcceptingRequests to "down".

If there are multiple providers as hinted then the provider can publish a "source directory link filter entry" to indicate the upstream status.

When SingleOpen = false the consumer is driving the recovery so it is completely beholden to the consumers implementation.

Generally one should be using the directory state filter if the entire service is down so that TREP may redirect all requests to an active provider.

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
210 4 5 8

Thanks Steve. Do you know if there is some documented "Best Practice" or guideline on how to handle this situation. I looked in the RDM Usage guide but I couldn't find anything specific.

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.

In absence of documentation each configuration needs to be explicitly tested for and validated that it is a supported operation. Unfortunately there is often a large number of permutations and variance between versions on some features.