question

Upvotes
Accepted
1 0 0 2

No servers available that support this QoS.

I have an ads service which is cascaded from another ADS. I am getting below error while running an rmdstestclient subscription test. Apparently the clients are also not able to get the data while connecting to this ads. Why is this error occurring?


Cascading License is enabled on all the POPs.

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

Stale Status Received. Item:<XX> (Text: "No servers available that support this QoS.")

trepADSrmds-test-client
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.

1 Answer

Upvotes
Accepted
56.3k 145 45 65

@manesh.kp

Sorry for the issue you are facing, let me see if I can help you in resolving this.

According to the error message, the service doesn't support the requested QoS. Users can specify the QoS in the request message. If you run rmdstestclient with the -X -l stdout -d 1 option, you will see the source directory refresh message in the XML format.

C:\infra_tools0.0.6.L1\win_x86_64>rmdsTestClient.exe -h 127.0.0.17 -p 14002 -S ELEKTRON_DD -itemList IBM.N -X -l stdout -d 1
...
...
<refreshMsg domainType="RSSL_DMT_SOURCE" streamId="2" containerType="RSSL_DT_MAP" flags="0x168 (RSSL_RFMF_HAS_MSG_KEY|RSSL_RFMF_SOLICITED|RSSL_RFMF_REFRESH_COMPLETE|RSSL_RFMF_CLEAR_CACHE)" groupId="0" dataState="RSSL_DATA_OK" streamState="RSSL_STREAM_OPEN" code="RSSL_SC_NONE" text=""  dataSize="881">
    <key  flags="0x8 (RSSL_MKF_HAS_FILTER)"  filter="255"/>
    <dataBody>
        <map flags="0x0" countHint="0" keyPrimitiveType="RSSL_DT_UINT" containerType="RSSL_DT_FILTER_LIST" >            
            <mapEntry flags="0x0" action="RSSL_MPEA_ADD_ENTRY" key="10002" >
                <filterList containerType="RSSL_DT_ELEMENT_LIST" countHint="0" flags="0x0">
                    <filterEntry id="1" action="RSSL_FTEA_SET_ENTRY" flags="0x0" containerType="RSSL_DT_ELEMENT_LIST">
                        <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                            <elementEntry name="Name" dataType="RSSL_DT_ASCII_STRING" data="ELEKTRON_DD"/>
                            <elementEntry name="SupportsQoSRange" dataType="RSSL_DT_UINT" data="0"/>
                            <elementEntry name="QoS" dataType="RSSL_DT_ARRAY">
                                <array itemLength="0" primitiveType="RSSL_DT_QOS">
                                    <arrayEntry qosDynamic="0" qosRate="2" qosTimeliness="1"/>
                                </array>
                            </elementEntry>

In the source directory refresh message, you will see the QoS supported by the service (ELEKTRON_DD). qosRate (2) is JIT_CONFLATED and qosTimeliness (1) is REALTIME. Therefore, if the QoS in the request message doesn't match the QoS specified in the service, the request will be rejected.

For example, if I set -qosType to 1 (Rate: Tick by Tick) which doesn't match JIT_CONFLATED (2), the request will be rejected with the following message.

C:\D_DRIVE\temp\infra_tools0.0.6.L1\Setup\infra_tools0.0.6.L1\infra_tools0.0.6.L1\win_x86_64>rmdsTestClient.exe -h 127.0.0.17 -p 14002 -S ELEKTRON_DD -itemList IBM.N -v -X -l stdout -d 1 -qosType 1

Stale Status Received. Item:<IBM.N> (Text: "No servers available that support this QoS.")

If I set the -qosType to 2 (JIT_CONFLATED), I can retrieve the data properly.

Therefore, you need to verify the QoS supported by the service. You can check this from adspop or the source directory refresh message.


1666340031096.png

Then, you can specify the QoS with the following rmdstestclient options.

    -qosType           QoS Type <(0) Service provided QoS, (1) RealTime|Tick, (2) JustInTime, (3) Conflated> (0)
    -qosInfo           QoS Rate Info (in milliseconds) (0)
    -qosTimeType       QoS Timeliness Type <(0) Service provided QoS, (1) REALTIME, (2) DELAYED_UNKNOWN (3) DELAYED> (0)

I hope this will help.



1666340031096.png (53.5 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.