question

Upvotes
Accepted
1 0 0 2

Failed subscription causes resubscription

Hello, if we subscribe to an invalid ric (which occasionally occurs), the RFA api appears to continue to attempt to resubscribe and fail, giving us closed stream over and over.

We are using registerClient and reissueClient as necessary.

We are using: rfa8.0.0.L1.linux.rrg.

Is there a way to change the QoS to stop this from happening?

Thanks,

-Alex

The resubmission happens ~every minute. Here I subscribe with a fake RIC: IBMdsfdsfd

stream_state=4 data_state=2 status_code=1 status_text=The record could not be found stream_state=4 data_state=2 status_code=1 status_text=The record could not be found

Your website doesn't allow me to update the log as a file, so I'm including the full body here (sorry).

<!-- Attempt to Connect to 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
<!-- Time: 17:06:15:630 -->
<!-- Connected to 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
<!-- Time: 17:06:15:632 -->
<!-- Outgoing Message to 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
<!-- Time: 17:06:15:632 -->
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<requestMsg domainType="RSSL_DMT_LOGIN" streamId="1" containerType="RSSL_DT_NO_DATA" flags="0x4 (RSSL_RQMF_STREAMING)" dataSize="0">
    <key flags="0x26 (RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE|RSSL_MKF_HAS_ATTRIB)" name="svcWangEngQA" nameType="1" attribContainerType="RSSL_DT_ELEMENT_LIST">
        <attrib>
            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                <elementEntry name="ApplicationId" dataType="RSSL_DT_ASCII_STRING" data="256"/>
                <elementEntry name="SingleOpen" dataType="RSSL_DT_UINT" data="0"/>
                <elementEntry name="InstanceId" dataType="RSSL_DT_ASCII_STRING" data="
                    <Instance Id>"/>
                    <elementEntry name="DownloadConnectionConfig" dataType="RSSL_DT_UINT" data="1"/>
                </elementList>
            </attrib>
        </key>
        <dataBody></dataBody>
    </requestMsg>
    <!-- Incoming Message from 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
    <!-- Time: 17:06:15:636 -->
    <!-- rwfMajorVer="14" rwfMinorVer="1" -->
    <refreshMsg domainType="RSSL_DMT_LOGIN" streamId="1" containerType="RSSL_DT_NO_DATA" 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="Login accepted by host PRDMDS22WHSSADS01." dataSize="0">
        <key flags="0x26 (RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE|RSSL_MKF_HAS_ATTRIB)" name="svcWangEngQA" nameType="1" attribContainerType="RSSL_DT_ELEMENT_LIST">
            <attrib>
                <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                    <elementEntry name="AllowSuspectData" dataType="RSSL_DT_UINT" data="1"/>
                    <elementEntry name="ApplicationId" dataType="RSSL_DT_ASCII_STRING" data="256"/>
                    <elementEntry name="ApplicationName" dataType="RSSL_DT_ASCII_STRING" data="ADS"/>
                    <elementEntry name="Position" dataType="RSSL_DT_ASCII_STRING" data="172.16.54.110"/>
                    <elementEntry name="ProvidePermissionExpressions" dataType="RSSL_DT_UINT" data="1"/>
                    <elementEntry name="ProvidePermissionProfile" dataType="RSSL_DT_UINT" data="0"/>
                    <elementEntry name="SingleOpen" dataType="RSSL_DT_UINT" data="0"/>
                    <elementEntry name="SupportEnhancedSymbolList" dataType="RSSL_DT_UINT" data="1"/>
                    <elementEntry name="SupportOMMPost" dataType="RSSL_DT_UINT" data="1"/>
                    <elementEntry name="SupportPauseResume" dataType="RSSL_DT_UINT" data="0"/>
                    <elementEntry name="SupportStandby" dataType="RSSL_DT_UINT" data="0"/>
                    <elementEntry name="SupportBatchRequests" dataType="RSSL_DT_UINT" data="7"/>
                    <elementEntry name="SupportViewRequests" dataType="RSSL_DT_UINT" data="1"/>
                    <elementEntry name="SupportOptimizedPauseResume" dataType="RSSL_DT_UINT" data="0"/>
                </elementList>
            </attrib>
        </key>
        <dataBody></dataBody>
    </refreshMsg>
    <!-- Outgoing Message to 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
    <!-- Time: 17:06:15:637 -->
    <!-- rwfMajorVer="14" rwfMinorVer="1" -->
    <requestMsg domainType="RSSL_DMT_SOURCE" streamId="2" containerType="RSSL_DT_NO_DATA" flags="0x4 (RSSL_RQMF_STREAMING)" dataSize="0">
        <key flags="0x8 (RSSL_MKF_HAS_FILTER)" filter="63"/>
        <dataBody></dataBody>
    </requestMsg>
    <!-- Incoming Message from 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
    <!-- Time: 17:06:15:639 -->
    <!-- rwfMajorVer="14" rwfMinorVer="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="1102">
        <key flags="0x8 (RSSL_MKF_HAS_FILTER)" filter="63"/>
        <dataBody>
            <map flags="0x0" countHint="0" keyPrimitiveType="RSSL_DT_UINT" containerType="RSSL_DT_FILTER_LIST">
                <mapEntry flags="0x0" action="RSSL_MPEA_ADD_ENTRY" key="465">
                    <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="MRN"/>
                                <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="1" qosTimeliness="1"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="Capabilities" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="1" primitiveType="RSSL_DT_UINT">
                                        <arrayEntry data="5"/>
                                        <arrayEntry data="6"/>
                                        <arrayEntry data="7"/>
                                        <arrayEntry data="8"/>
                                        <arrayEntry data="9"/>
                                        <arrayEntry data="10"/>
                                        <arrayEntry data="11"/>
                                        <arrayEntry data="13"/>
                                        <arrayEntry data="18"/>
                                        <arrayEntry data="19"/>
                                        <arrayEntry data="20"/>
                                        <arrayEntry data="21"/>
                                        <arrayEntry data="23"/>
                                        <arrayEntry data="24"/>
                                        <arrayEntry data="25"/>
                                        <arrayEntry data="26"/>
                                        <arrayEntry data="28"/>
                                        <arrayEntry data="33"/>
                                        <arrayEntry data="126"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="DictionariesProvided" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="0" primitiveType="RSSL_DT_ASCII_STRING">
                                        <arrayEntry data="RWFFld"/>
                                        <arrayEntry data="RWFEnum"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="DictionariesUsed" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="0" primitiveType="RSSL_DT_ASCII_STRING">
                                        <arrayEntry data="RWFFld"/>
                                        <arrayEntry data="RWFEnum"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="Vendor" dataType="RSSL_DT_ASCII_STRING" data="Thomson Reuters"/>
                            </elementList>
                        </filterEntry>
                        <filterEntry id="2" action="RSSL_FTEA_SET_ENTRY" flags="0x0" containerType="RSSL_DT_ELEMENT_LIST">
                            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                                <elementEntry name="ServiceState" dataType="RSSL_DT_UINT" data="1"/>
                                <elementEntry name="AcceptingRequests" dataType="RSSL_DT_UINT" data="1"/>
                            </elementList>
                        </filterEntry>
                        <filterEntry id="4" action="RSSL_FTEA_SET_ENTRY" flags="0x0" containerType="RSSL_DT_ELEMENT_LIST">
                            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                                <elementEntry name="OpenLimit" dataType="RSSL_DT_UINT" data="160000"/>
                            </elementList>
                        </filterEntry>
                    </filterList>
                </mapEntry>
                <mapEntry flags="0x0" action="RSSL_MPEA_ADD_ENTRY" key="3023">
                    <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="EED_CONF"/>
                                <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="3" qosTimeliness="1" qosRateInfo="500"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="Capabilities" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="1" primitiveType="RSSL_DT_UINT">
                                        <arrayEntry data="5"/>
                                        <arrayEntry data="6"/>
                                        <arrayEntry data="7"/>
                                        <arrayEntry data="8"/>
                                        <arrayEntry data="9"/>
                                        <arrayEntry data="10"/>
                                        <arrayEntry data="11"/>
                                        <arrayEntry data="13"/>
                                        <arrayEntry data="18"/>
                                        <arrayEntry data="19"/>
                                        <arrayEntry data="20"/>
                                        <arrayEntry data="21"/>
                                        <arrayEntry data="23"/>
                                        <arrayEntry data="24"/>
                                        <arrayEntry data="25"/>
                                        <arrayEntry data="26"/>
                                        <arrayEntry data="28"/>
                                        <arrayEntry data="33"/>
                                        <arrayEntry data="126"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="DictionariesProvided" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="0" primitiveType="RSSL_DT_ASCII_STRING">
                                        <arrayEntry data="RWFFld"/>
                                        <arrayEntry data="RWFEnum"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="DictionariesUsed" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="0" primitiveType="RSSL_DT_ASCII_STRING">
                                        <arrayEntry data="RWFFld"/>
                                        <arrayEntry data="RWFEnum"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="Vendor" dataType="RSSL_DT_ASCII_STRING" data="Thomson Reuters"/>
                            </elementList>
                        </filterEntry>
                        <filterEntry id="2" action="RSSL_FTEA_SET_ENTRY" flags="0x0" containerType="RSSL_DT_ELEMENT_LIST">
                            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                                <elementEntry name="ServiceState" dataType="RSSL_DT_UINT" data="1"/>
                                <elementEntry name="AcceptingRequests" dataType="RSSL_DT_UINT" data="1"/>
                            </elementList>
                        </filterEntry>
                        <filterEntry id="4" action="RSSL_FTEA_SET_ENTRY" flags="0x0" containerType="RSSL_DT_ELEMENT_LIST">
                            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                                <elementEntry name="OpenLimit" dataType="RSSL_DT_UINT" data="160000"/>
                            </elementList>
                        </filterEntry>
                    </filterList>
                </mapEntry>
                <mapEntry flags="0x0" action="RSSL_MPEA_ADD_ENTRY" key="2023">
                    <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="EED_DELAYED"/>
                                <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="3" qosTimeliness="2" qosRateInfo="500"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="Capabilities" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="1" primitiveType="RSSL_DT_UINT">
                                        <arrayEntry data="5"/>
                                        <arrayEntry data="6"/>
                                        <arrayEntry data="7"/>
                                        <arrayEntry data="8"/>
                                        <arrayEntry data="9"/>
                                        <arrayEntry data="10"/>
                                        <arrayEntry data="11"/>
                                        <arrayEntry data="13"/>
                                        <arrayEntry data="18"/>
                                        <arrayEntry data="19"/>
                                        <arrayEntry data="20"/>
                                        <arrayEntry data="21"/>
                                        <arrayEntry data="23"/>
                                        <arrayEntry data="24"/>
                                        <arrayEntry data="25"/>
                                        <arrayEntry data="26"/>
                                        <arrayEntry data="28"/>
                                        <arrayEntry data="33"/>
                                        <arrayEntry data="126"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="DictionariesProvided" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="0" primitiveType="RSSL_DT_ASCII_STRING">
                                        <arrayEntry data="RWFFld"/>
                                        <arrayEntry data="RWFEnum"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="DictionariesUsed" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="0" primitiveType="RSSL_DT_ASCII_STRING">
                                        <arrayEntry data="RWFFld"/>
                                        <arrayEntry data="RWFEnum"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="Vendor" dataType="RSSL_DT_ASCII_STRING" data="Thomson Reuters"/>
                            </elementList>
                        </filterEntry>
                        <filterEntry id="2" action="RSSL_FTEA_SET_ENTRY" flags="0x0" containerType="RSSL_DT_ELEMENT_LIST">
                            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                                <elementEntry name="ServiceState" dataType="RSSL_DT_UINT" data="1"/>
                                <elementEntry name="AcceptingRequests" dataType="RSSL_DT_UINT" data="1"/>
                            </elementList>
                        </filterEntry>
                        <filterEntry id="4" action="RSSL_FTEA_SET_ENTRY" flags="0x0" containerType="RSSL_DT_ELEMENT_LIST">
                            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                                <elementEntry name="OpenLimit" dataType="RSSL_DT_UINT" data="160000"/>
                            </elementList>
                        </filterEntry>
                    </filterList>
                </mapEntry>
                <mapEntry flags="0x0" action="RSSL_MPEA_ADD_ENTRY" key="258">
                    <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="EED"/>
                                <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="1" qosTimeliness="1"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="Capabilities" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="1" primitiveType="RSSL_DT_UINT">
                                        <arrayEntry data="5"/>
                                        <arrayEntry data="6"/>
                                        <arrayEntry data="7"/>
                                        <arrayEntry data="8"/>
                                        <arrayEntry data="9"/>
                                        <arrayEntry data="10"/>
                                        <arrayEntry data="11"/>
                                        <arrayEntry data="13"/>
                                        <arrayEntry data="18"/>
                                        <arrayEntry data="19"/>
                                        <arrayEntry data="20"/>
                                        <arrayEntry data="21"/>
                                        <arrayEntry data="23"/>
                                        <arrayEntry data="24"/>
                                        <arrayEntry data="25"/>
                                        <arrayEntry data="26"/>
                                        <arrayEntry data="28"/>
                                        <arrayEntry data="33"/>
                                        <arrayEntry data="126"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="DictionariesProvided" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="0" primitiveType="RSSL_DT_ASCII_STRING">
                                        <arrayEntry data="RWFFld"/>
                                        <arrayEntry data="RWFEnum"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="DictionariesUsed" dataType="RSSL_DT_ARRAY">
                                    <array itemLength="0" primitiveType="RSSL_DT_ASCII_STRING">
                                        <arrayEntry data="RWFFld"/>
                                        <arrayEntry data="RWFEnum"/>
                                    </array>
                                </elementEntry>
                                <elementEntry name="Vendor" dataType="RSSL_DT_ASCII_STRING" data="Thomson Reuters"/>
                            </elementList>
                        </filterEntry>
                        <filterEntry id="2" action="RSSL_FTEA_SET_ENTRY" flags="0x0" containerType="RSSL_DT_ELEMENT_LIST">
                            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                                <elementEntry name="ServiceState" dataType="RSSL_DT_UINT" data="1"/>
                                <elementEntry name="AcceptingRequests" dataType="RSSL_DT_UINT" data="1"/>
                            </elementList>
                        </filterEntry>
                        <filterEntry id="4" action="RSSL_FTEA_SET_ENTRY" flags="0x0" containerType="RSSL_DT_ELEMENT_LIST">
                            <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)">
                                <elementEntry name="OpenLimit" dataType="RSSL_DT_UINT" data="160000"/>
                            </elementList>
                        </filterEntry>
                    </filterList>
                </mapEntry>
            </map>
        </dataBody>
    </refreshMsg>
    <!-- Outgoing Message to 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
    <!-- Time: 17:06:27:208 -->
    <!-- rwfMajorVer="14" rwfMinorVer="1" -->
    <requestMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="3" containerType="RSSL_DT_NO_DATA" flags="0x46 (RSSL_RQMF_HAS_PRIORITY|RSSL_RQMF_STREAMING|RSSL_RQMF_HAS_QOS)" qosDynamic="0" qosRate="1" qosTimeliness="1" priorityClass="1" priorityCount="1" dataSize="0">
        <key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="258" name="IBMdsfdsfd" nameType="1"/>
        <dataBody></dataBody>
    </requestMsg>
    <!-- Incoming Message from 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
    <!-- Time: 17:06:27:256 -->
    <!-- rwfMajorVer="14" rwfMinorVer="1" -->
    <statusMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="3" containerType="RSSL_DT_NO_DATA" flags="0x28 (RSSL_STMF_HAS_MSG_KEY|RSSL_STMF_HAS_STATE)" dataState="RSSL_DATA_SUSPECT" streamState="RSSL_STREAM_CLOSED" code="RSSL_SC_NOT_FOUND" text="The record could not be found" dataSize="0">
        <key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="258" name="IBMdsfdsfd" nameType="1"/>
        <dataBody></dataBody>
    </statusMsg>
    <!-- Outgoing Message to 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
    <!-- Time: 17:07:12:209 -->
    <!-- rwfMajorVer="14" rwfMinorVer="1" -->
    <requestMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="4" containerType="RSSL_DT_NO_DATA" flags="0x46 (RSSL_RQMF_HAS_PRIORITY|RSSL_RQMF_STREAMING|RSSL_RQMF_HAS_QOS)" qosDynamic="0" qosRate="1" qosTimeliness="1" priorityClass="1" priorityCount="1" dataSize="0">
        <key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="258" name="IBMdsfdsfd" nameType="1"/>
        <dataBody></dataBody>
    </requestMsg>
    <!-- Incoming Message from 'PRDMDS22WHSSADS01:14002' on 'localhost' interface -->
    <!-- Time: 17:07:12:237 -->
    <!-- rwfMajorVer="14" rwfMinorVer="1" -->
    <statusMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="4" containerType="RSSL_DT_NO_DATA" flags="0x28 (RSSL_STMF_HAS_MSG_KEY|RSSL_STMF_HAS_STATE)" dataState="RSSL_DATA_SUSPECT" streamState="RSSL_STREAM_CLOSED" code="RSSL_SC_NOT_FOUND" text="The record could not be found" dataSize="0">
        <key flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" serviceId="258" name="IBMdsfdsfd" nameType="1"/>
        <dataBody></dataBody>
    </statusMsg>

treprfarfa-api
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 0 0 2

I figured it out. On StreamClosed Response I failed to disseminate the message to the connected clients. This appears to causes the client's RFA connection to re-request every minute (I do not have logic to do so myself). Publishing the StreamClosed event to all relevant clients fixed the issue.

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
7.6k 15 6 9

@Alex.Reynolds

Behaviour you mentioned below is not correct.

"the RFA api appears to continue to attempt to resubscribe and fail, giving us closed stream over and over."

Normally in case of invalid RIC or Record could not be found , application will receive Response Status Message with stream state is Closed. And RFA will not attemp to resubscribe the item on behalif of application. Below is sample response message from StarterConsumer in case of using invalid RIC. You can try the example with invalid RIC and compare the result with your application.

2018 Apr 11 08:07:48.655 ST GMT+07:00 C9C 1118   603 TRACE <- Received MMT_MARKE
T_PRICE Status INVALIDRIC
    serviceName : API_ELEKTRON_EDGE_TOKYO
    symbolName  : INVALIDRIC
********************Status**********************
    streamState : Closed
    dataState   : Suspect
    statusCode  : NotFound
    statusText  : The record could not be found.

-Do you have sample response message you received when subscribe invalid RIC?

-Can you turn on RSSL tracing log to see incomming and outgoing messages between RFA and Server?

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.

@moragodkrit Updated with the xml log. Sorry for the bad format, but the website won't let me upload it as a seperate file (invalid file type).

Upvotes
7.6k 15 6 9

@Alex.Reynolds
I have reviewed the RSSL tracing log and found that both item request message is just simple streaming request but the time between the first and second request message is around 45 sec (17:06:27:208 -->17:07:12:209). Application immediately received the response message after it send the item request. It seems to be the case that application re-send the request message after item stream is closed.

  • Have you set any special flag in the request message or having any additional application logic to send item request again after item stream is closed?
  • Have you logged the handle returned by event.getHandle()? Is this the same one?
  • Can you please try the same item with StarterConsumer?
  • And can you please verify what are differences between the codes in you application and the codes from StarterConsumer example?

Testing the same scenario with StarterConsumer example and not found the issue with the RFA version 8.0.0 you mentioned. I received only one close message as below tracing log

<!-- Outgoing Message to '192.168.27.46:14002' on 'localhost' interface -->
<!-- Time: 10:30:00:836 -->
<!-- rwfMajorVer="14" rwfMinorVer="0" -->
<requestMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="3" containerType="RSSL_DT_NO_DATA" flags="0x66 (RSSL_RQMF_HAS_PRIORITY|RSSL_RQMF_STREAMING|RSSL_RQMF_NO_REFRESH|RSSL_RQMF_HAS_QOS)" qosDynamic="0" qosRate="1" qosTimeliness="1" priorityClass="1" priorityCount="2" dataSize="0">
    <key  flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)"  serviceId="2115" name="TEST.BK" nameType="1"/>
    <dataBody>
    </dataBody>
</requestMsg>

<!-- Incoming Message from '192.168.27.46:14002' on 'localhost' interface -->
<!-- Time: 10:30:01:696 -->
<!-- rwfMajorVer="14" rwfMinorVer="0" -->
<statusMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="3" containerType="RSSL_DT_NO_DATA" flags="0x28 (RSSL_STMF_HAS_MSG_KEY|RSSL_STMF_HAS_STATE)" dataState="RSSL_DATA_SUSPECT" streamState="RSSL_STREAM_CLOSED" code="RSSL_SC_NOT_FOUND" text="The record could not be found"  dataSize="0">
    <key  flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)"  serviceId="2115" name="TEST.BK" nameType="1"/>
    <dataBody>
    </dataBody>
</statusMsg>
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.