question

Upvotes
Accepted
588 8 13 16

SingleOpen and AllowSuspectData behaviour

UPA documentation states that if Login request from consumer has both SingleOpen and AllowSuspectData flags set, then provider is supposed to handle recovery automatically and consumer should never receive item status CLOSED_RECOVER.

What happens when consumer receives source directory message (RSSL_DMT_SOURCE) indicating the source is DOWN with Status info? Documentation says in such case the status should be applied to all streams for that source, but will status be CLOSED_RECOVER or OPEN with data SUSPECT?

Does consumer have to re-request all streams when source is UP again?

elektronelektron-sdkrrteta-apielektron-transport-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
301 6 17 27

Just because a consumer requests for single open and suspect data, be aware that the application should look at the login response from the provider to confirm what values the provider is actually providing, as some providers may not support one or both options.

Assuming the login response from the provider indicates that single open is enabled, then yes, in theory, the consumer should never receive a closed recover status and the provider will perform recovery. With that said however, there is nothing within UPA which would prevent the provider from sending a closed recover status (other than documentation), so I would recommend to anyone developing a consumer application, to still prepare for the possibility of receiving such a status.

Regarding 'Status' contained within the state filter entry of the source directory, yes, when received, that status must be applied to all open streams within that service. ADS will follow the same rules, meaning with single open enabled, the status will be open / suspect when the service goes down and recovery will be performed in the ADS. With single open disabled, the status will be closed recover when the service goes down and all streams are closed. Same applies for group level statuses. But again, although this is the expected behavior, there is nothing preventing a provider from doing something differently.

Yes, on a closed recover status, the stream (or streams) are closed and it is the responsibility on the consumer to recall.

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