UAT API showing below behavior while changing from EZD & LPC

Currently we are using Elektron Connect from Refintiv to source the Real time exchange rate data feed by using RFA plugin. Only one rate is getting updated with new user "lpc: Amazon service".

Fetching and Updating Rates Current Date time:[9/28/2021 4:22:46 PM]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for CAD= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.event Queue returns:[-1]

RateFetchingManager.Fetch.Reuters Service is down

Rate not received from Reuters Service for Currency:[CAD]

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RateFetchingManager.Fetch.event Queue returns:[0]

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for CHF= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[1]

RDMClient.ProcessOMMItemEvent.message type: 1

RateFetchingManager.Fetch.Dipatch value :[1]

RDMClient.ProcessLoginResponse.respMsg.RespTypeStatus

RDMClient.ProcessLoginResponse.Connecting with Service - Login Accepted

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for CHF= Status is :[Ok]

RDMClient.ProcessMarketPriceResponse.Rate Object Created with values , Currency Value :[ CHF=] Ask Value :[ 0.9285] Bid Value :[ 0.9281] and MidRate Value:[0.9283]

RDMClient.ProcessEvent.Price is fine to exit

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.event Queue returns:[0]

.RateProcessManager.GetRateFromFileRate Object Created with values , Currency Value :[ CHF] Ask Value :[ 0.9285] Bid Value :[ 0.9281] and Mid Value:[0.9283]

RateUpdationManager.UpdateRate.CP Rates are Updated, Updating Id Rates

RateUpdationManager.UpdateRate.Updated ID Rates

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.event Queue returns:[1]

RateFetchingManager.Fetch.Dipatch value :[1]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for HKD= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.respMsg.RespTypeStatus

RDMClient.ProcessLoginResponse.Connecting with Service - Login Accepted

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RateFetchingManager.Fetch.event Queue returns:[-1]

RateFetchingManager.Fetch.Reuters Service is down

Rate not received from Reuters Service for Currency:[HKD]


With the old user 'EZD:localhost" we are getting below response

Fetching and Updating Rates Current Date time:[9/28/2021 6:02:04 PM]

Calling fetchRatesManager.Init() for Currency :[PKR=]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for PKR= Status is :[Suspect]

RateFetchingManager.Fetch.Dipatch value :[0]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.event Queue returns:[-1]

RateFetchingManager.Fetch.Reuters Service is down

Rate not received from Reuters Service for Currency:[PKR]

Calling fetchRatesManager.Init() for Currency :[BDT=]

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessMarketPriceResponse.Fetching Rates for BDT= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RateFetchingManager.Fetch.event Queue returns:[-1]

RateFetchingManager.Fetch.Reuters Service is down

Any idea what might be causing this?

Many thanks in advance,

Sreekala

Best Answer

  • Hello @sreekala.a ,

    <Revising my response here, as there appears to have been a glitch in our reporting tool today>

    You are one of the premium developer support users for your organization, therefore, when logged into dev portal, and entering API area, you should see "Contact Premium Support" button, and be able to open a premium support case.

    Please note, that Premium Developer support capability is intended for in-depth API development questions and issues, and to be helped with LPC installation and configuration issues, it is best to directly open a support ticket with LPC product support via Refinitiv Helpdesk Online -> Product -> LPC

    I have also alerted your organization's account manager, so they are aware of this discussion thread.

Answers

  • Hello @sreekala.a ,

    If my understanding of the question is correct:

    • Your custom application has been previously running successfully, and consuming via EZD.
    • You are trying to connect it via LPC now, and seeing service down.

    Service name ELEKTRON_DD should be correct, as default service name both for EZD and LPC, unless it has been modified during installation by your local admin/group.

    I would proceed this way:

    1. First, verify LPC installation and user configuration and permissioning, locally on LPC server, using testclient tool rmdstestclient that is included with LPC and is in directory lpc1.1.0/linux7_x86_64/demo You may need to ask your organization market data admin/market data group for help to do this test.
    2. Once you are able to verify the streaming data on service for RIC with your configured user, next I would test custom consumer with exact same service, RIC and user, and this should work.
    3. If, however, you experience the same issue with rmdstestclient, I would
      1. Try service IDN_RDF. This is a legacy service name, that is sometimes aliased, and configured by admin on installation of LPC, in place of ELEKTRON_DD.
      2. Failing that, ask your local admin/group to confirm what service name for Refinitiv Realtime was configured on LPC during installation and should be used by the connecting app.

    If this does not address the question, please try to provide more details about the question.

    Hope this information helps

  • zoya faberov Above mentioned all steps have done. Service name is ELEKTRON_DD on both EZD & LPC. Also we have tested the instrument with testclient tool. Currently only one currency is receiving using LPC. We are processing/initiating each currencies(around 65) using a for loop using a console application(same as MRNExample_VS140.csproj). At the end of the application we are getting response in Server as


    RFA Internal failure

    Application: WSRatesUpdationApp

    Process Id: 0x1B48

    Thread Id: 0x21B0


    File: C:\Jenkins\workspace\RFANETDEV_HYBRID\OS\VS140-64\rcdev\source\rfaut\Common\Support\Util\Impl\Pipe.cpp

    Line: 154


    Problem:

    10093

    RFA_VERIFY( 0 ) failed


    Stack Trace:

    0x00007FF85B0F46C0 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B0F5B23 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B1A1C30 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B270CB4 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B26FDE0 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B271F72 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B228B99 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B2196E2 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B1DF79A C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B1DEC42 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF8872C9043 C:\Windows\System32\ucrtbase.dll: __lc_locale_name_func() + 1619 bytes

    0x00007FF8872CD45B C:\Windows\System32\ucrtbase.dll: register_onexit_function() + 235 bytes

    0x00007FF8872C9174 C:\Windows\System32\ucrtbase.dll: execute_onexit_table() + 52 bytes

    0x00007FF85B0FC9C2 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF85B0FCACB C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

    0x00007FF87EC8AE44 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscoreei.dll: CorDllMain() + 500 bytes


    Trace is

    Fetching and Updating Rates Current Date time:[9/30/2021 11:10:54 AM]

    Acquire Application ConfigDatabase

    Create RFA Staging Config Database

    Reading RFA configuration file: ./ReutersConfiguration.cfg

    Loaded RFA Staging Config Database

    Merge RFA Staging Config Database into RFA Config Database

    RDMClient.ProcessOMMItemEvent.message type: 1

    RDMClient.ProcessRespMsg. MsgModelType1

    RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

    RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

    RateFetchingManager.Fetch.event Queue returns:[0]

    RateFetchingManager.Fetch.Dipatch value :[0]

    RDMClient.ProcessOMMItemEvent.message type: 1

    RDMClient.ProcessRespMsg. MsgModelType6

    RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

    RDMClient.ProcessMarketPriceResponse.Fetching Rates for PKR= Status is :[Suspect]

    RateFetchingManager.Fetch.event Queue returns:[0]

    RateFetchingManager.Fetch.Dipatch value :[0]

    RateFetchingManager.Fetch.event Queue returns:[1]

    RateFetchingManager.Fetch.Dipatch value :[1]

    RDMClient.ProcessOMMItemEvent.message type: 1

    RDMClient.ProcessRespMsg. MsgModelType1

    RDMClient.ProcessLoginResponse.respMsg.RespTypeStatus

    RDMClient.ProcessLoginResponse.Connecting with Service - Login Accepted

    RateFetchingManager.Fetch.event Queue returns:[0]

    RateFetchingManager.Fetch.Dipatch value :[0]

    RDMClient.ProcessOMMItemEvent.message type: 1

    RDMClient.ProcessRespMsg. MsgModelType6

    RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

    RDMClient.ProcessMarketPriceResponse.Fetching Rates for PKR= Status is :[Ok]

    Normal Field Name :[CURRENCY]

    2 PKR

    Normal Field Name :[BID]

    1 170.50

    Normal Field Name :[ASK]

    1 171.50

    Normal Field Name :[MID_PRICE]

    1 171.00

    Rate Object Created with values , Currency Value :[ PKR=] Ask Value :[ 171.50] Bid Value :[ 170.50] and MidRate Value:[171.00]

    Writing to File Path :[C:\Program Files\WallStreetSchedulers\WSRateUpdation\Rate.xml]

    RDMClient.ProcessEvent.Price is fine to exit

    RateFetchingManager.Fetch.event Queue returns:[0]

    RateFetchingManager.Fetch.ExitProcess event Queue returns:[0]

    .RateProcessManager.GetRateFromFileRate Object Created with values , Currency Value :[ PKR] Ask Value :[ 171.50] Bid Value :[ 170.50] and Mid Value:[171.00]

    RateUpdationManager.UpdateRate.CP Rates are Updated, Updating Id Rates

    RateUpdationManager.UpdateRate.Updated ID Rates

    Acquire Application ConfigDatabase

    Create RFA Staging Config Database

    Reading RFA configuration file: ./ReutersConfiguration.cfg

    Loaded RFA Staging Config Database

    Merge RFA Staging Config Database into RFA Config Database

    RDMClient.ProcessOMMItemEvent.message type: 1

    RDMClient.ProcessRespMsg. MsgModelType1

    RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

    RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

    RateFetchingManager.Fetch.event Queue returns:[1]

    RateFetchingManager.Fetch.Dipatch value :[1]

    RDMClient.ProcessOMMItemEvent.message type: 1

    RDMClient.ProcessRespMsg. MsgModelType6

    RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

    RDMClient.ProcessMarketPriceResponse.Fetching Rates for BDT= Status is :[Suspect]

    RateFetchingManager.Fetch.event Queue returns:[0]

    RateFetchingManager.Fetch.Dipatch value :[0]

    RDMClient.ProcessRespMsg. MsgModelType1

    e: 1

    RDMClient.ProcessLoginResponse.respMsg.RespTypeStatus

    RDMClient.ProcessLoginResponse.Connecting with Service - Login Accepted

    RateFetchingManager.Fetch.event Queue returns:[0]

    RateFetchingManager.Fetch.Dipatch value :[0]

    RateFetchingManager.Fetch.event Queue returns:[-1]

    RateFetchingManager.Fetch.Reuters Service is down

    Rate not received from Reuters Service for Currency:[BDT]

    How this problem can be resolved? Let me know if you need any other log/details

    Thanks in advance.

    Sreekala






  • zoya faberov

    I am attaching the log of EZD(working fine)03-Sunday_EZD.txt and lpc(only one currency is updated)03-Sunday_lpc.txt. Use the same application by keeping the same service name, changed only user and ip address.



    How to solve this issue? Can i have quick remote assistance to troubleshoot this issue?


    Thanks in advance.

  • After the application runs with lpc username i am getting this messageCapture.JPG

  • Hello @sreekala.a ,

    Let us please confirm, if with rmdstestclient, that is found with lpc, you are able to consume and test several of the currency RICs that you require, for example you may wish to use:

    []# ./rmdstestclient -S ELEKTRON_DD -il "JPY=, AUD=, EUR=" -u YOURVALIDUSER -X -d 3 -dfile ../../etc/RDMFieldDictionary

    Do you see the updates for all 3 RICs via rmdstestclient?

    ---

    There is something in the logs that I am not clear about, there are repeated messages "Source unavailable... will recover when source is up" in both EZD and LPC logs, for every instrument. Is each request a service reconnect, and then a disconnect?

    However, with EZD, consequently, the instrument is requested, while for LPC, consequently "Connecting with Service- Login Pending " remains and consequently, "Service is down", and therefore, the instrument is not requested.

    Next, I am guessing, and trying to help by suggesting a way to troubleshoot:

    If the verification with rmdstestclient succeeds,

    I would look into staying connected and just snapshotting periodically, rather then disconnecting and reconnecting every time. Not efficient, and you have to wait every time, resulting in "source unavailable" and wait.

    If this is not possible and you require to disconnect and reconnect, every time, that needs to be done cleanly and successfully, i.e. disconnect and only then reconnect. You may also examine LPC log for clues, as to what is preventing, my guess is you are not disconnected, when trying to reconnect.

    Hope this helps- let us know how this works on your side?



  • zoya faberov

    Tested with rmdstestclient with 3 to 4. It works fine.

    We are processing around 65 currencies(lpc) in a forloop. Some of the currency values are not updated. log attached.

    Steps followed: Context.Initialize();InitConfig(),InitSession();,decoder.LoadDictionaryFromFile,CreateOMMConsumer() functions called before the forloop of currencies.

    Step 2:

    ThomsonReuters.RFA.Common.RFA_String ItemName = new ThomsonReuters.RFA.Common.RFA_String(currency);

    RequestRDMData(ServiceName, ItemName)

    Step 3:

    int dispatchReturn = eventQueue.Dispatch(5000); which invokes ProcessEvent(Event evnt) method of RDMclient class.

    How can i process all the currencies? Let me know if detail log is needed (the method- where mainly to focus on )12-Tuesday.txt

  • Hello @sreekala.a ,

    Are you looking to request 65 currencies, using RFA.NET, streaming requests or snapshots?

    Please refer to RFA.NET Developers Guide section Batch.

    If you require snapshots, rather then streaming updates, please also review Non-streaming Request/Snapshot in the guide

    Find included with your RFA.NET SDK an example "StarterConsumer_BatchView".

    You can use this example to request a batch of 65 currencies, if you require price snapshots, then by not requesting "ReqMsg.InteractionTypeFlag.InterestAfterRefresh" and you will get Snapshots of the currencies.

    The guts of the example, of submitting mulitple items in a single batch are in "SendBatchRequest" method.

    ---

    Were there any modifications from the code that was working with EZD? How long ago it was working? This is the part that does not add up for me, as you mention that app was working against EZD. Is there any indication in LPC logs as to what the requests are not being successful?

  • Hi zoya faberov ,We are Requesting streaming request. and request changed to batch request for 65 currencies in RequestRDMData method. This is how I retrieve the rate

    RequestRDMData method

    ReqMsg reqMsg = new ReqMsg(); reqMsg.MsgModelType = ThomsonReuters.RFA.RDM.RDM.MESSAGE_MODEL_TYPES.MMT_MARKET_PRICE;

    reqMsg.InteractionType = (ReqMsg.InteractionTypeFlag.InitialImage | ReqMsg.InteractionTypeFlag.InterestAfterRefresh); AttribInfo attribInfo = new AttribInfo();

    attribInfo.NameType = ThomsonReuters.RFA.RDM.RDM.INSTRUMENT_NAME_TYPES.INSTRUMENT_NAME_RIC;

    attribInfo.ServiceName = serviceName; reqMsg.AttribInfo = attribInfo;

    reqMsg.IndicationMask = ReqMsg.IndicationMaskFlag.Batch;

    ElementList elementList = new ElementList();

    ElementEntry element = new ElementEntry();

    ElementListWriteIterator elwiter = new ElementListWriteIterator();

    elwiter.Start(elementList);

    ArrayWriteIterator arrWIt = new ArrayWriteIterator();

    ThomsonReuters.RFA.Data.Array elementData = new ThomsonReuters.RFA.Data.Array();

    //encode a ItemList for batch

    arrWIt.Start(elementData);

    DataBuffer dataBuffer = new DataBuffer();

    ArrayEntry arrayEntry = new ArrayEntry();

    for (int i = 0; i < Util.ForexCurrency.Count; i++) {

    string currency = Util.ForexCurrency[i].ToString() + "=";

    dataBuffer.Clear();

    arrayEntry.Clear();

    dataBuffer.SetFromString(new RFA_String(currency), DataBuffer.DataBufferEnum.StringAscii);

    arrayEntry.Data = dataBuffer;

    arrWIt.Bind(arrayEntry);

    }

    arrWIt.Complete();

    element.Name = RDM.REQUEST_MSG_PAYLOAD_ELEMENT_NAME.ENAME_BATCH_ITEM_LIST;

    element.Data = elementData;

    elwiter.Bind(element);

    elwiter.Complete();

    reqMsg.Payload = elementList;

    OMMItemIntSpec ommItemIntSpec = new OMMItemIntSpec();

    ommItemIntSpec.Msg = reqMsg;

    long handle = ommConsumer.RegisterClient(eventQueue, ommItemIntSpec, rdmClient,null);

    Dispatch method process for 8000 doesnot process for 5000

    int dispatchReturn = eventQueue.Dispatch(8000);

    ProcessMarketPriceResponse

    if ((respMsg.HintMask & RespMsg.HintMaskFlag.AttribInfo) != 0)

    {

    if ((hint & AttribInfo.HintMaskFlag.Name) != 0)

    { Cur = attribInfo.Name.ToString();}}

    if ((respMsg.HintMask & RespMsg.HintMaskFlag.Payload) != 0)

    {decoder.DecodeFieldList(respMsg.Payload, Cur);}

    FieldListReadIterator it = new FieldListReadIterator();

    it.Start(input);

    while (!it.Off()) {

    RDMFidDef fieldDef = rdmFieldDict.GetFidDef(it.Value.FieldID);

    if (fieldDef != null) {

    if (fieldDef.Name.ToString() == Util.Reuters_Currency){

    string returnValue = DecodeFieldEntry(it.Value);

    RateObject.CurrencyCode = CurrencyCode;

    }

    else if (fieldDef.Name.ToString() == Util.Reuters_ASK) {

    string returnValue = DecodeFieldEntry(it.Value);

    if (!string.IsNullOrEmpty(returnValue))

    RateObject.AskRate = Convert.ToDecimal(returnValue);

    }else if (fieldDef.Name.ToString() == Util.Reuters_BID) {

    string returnValue = DecodeFieldEntry(it.Value);

    if (!string.IsNullOrEmpty(returnValue))

    RateObject.BidRate = Convert.ToDecimal(returnValue);

    } else if (fieldDef.Name.ToString() == Util.Reuters_MID_PRICE) {

    string returnValue = DecodeFieldEntry(it.Value);

    if (!string.IsNullOrEmpty(returnValue))

    RateObject.MidRate = Convert.ToDecimal(returnValue);

    }

    }

    if (!string.IsNullOrEmpty(RateObject.CurrencyCode) && RateObject.MidRate != 0 && RateObject.BidRate != 0 && RateObject.AskRate != 0) {

    break;

    }

    it.Forth();

    }

    In this way i retrieve the value for BID,MID_PRICE AND ASK RATE. Im getting currencies. but the end of the application im getting an error. How can i exit the application without error?


  • Processing started at 1:18:21 and got response at 1:18:29 RDMClient.ProcessEvent.<- Received Event Stream Closed Event, event type: OMMItemEvent handle:

    And at last process ended at 1:18:37

    How can i solve this issue of dll error?

    Capture1.JPG17-Sunday.txt

  • I could solve the dll error issue.

  • Hello @sreekala.a,

    Thank you for this information.

    Dispatching 8000 works and 5000 does not quite sounds right to me. You continue dispatching in a loop after this, right?

    Did you have a chance to see the dispatch loop of examples that came with RFA.NET 8 SDK, such as StarterConsumer_BatchView?

    Typically, we dispatch in a loop, with a small timeout, such as:

    while ((!CtrlBreakHandler.IsTerminated()) && (currentTime < endTime || endTime == startTime))
    {
    if (eventQueue != null)
    {
    int dispatchReturn = eventQueue.Dispatch(10);

    Dispatch dispatches events of they are available, otherwise, it blocks for the specified time awaiting the events and tying the application. Please see RFA.NET Developers Guide section "Dispatch from Event Queue" for the detailed description how dispatch works.

    ---

    I have just re-tested example StarterConsumer_BatchView against our testbed LPC. Did not reproduce any issues, the example has connected and was receiving updates on all instruments in the batch.

    ---

    I can think of two possible approaches:

    First to test with example StarterConsumer_BatchView against your LPC, with your permissioned instruments. You can test with just a few, same as the example, so you do not have to type all 65 RICs. Once verified, next you can incorporate the same working subscription handling into your custom consumer. I would suggest to keep dispatch timeout in the dispatch loop small, and ProcessEvent callbacks light, while delegating any required time-consuming processing to worker threads, in order for your RFA.NET consumer to be able to process the incoming streaming traffic smoothly and speedily.

    If you require more in-depth assistance with custom code, a preferred approach may be involving help from Premium Support by opening a premium support case. I see that your organization is a Premium Support member. You can therefore ask named users from your organization to open a premium support case on your behalf.

  • zoya faberov I have used StarterConsumer_BatchView methodbatchview.JPG. To get the response login takes time delay login.JPG.(getting stream closed event also)

  • Hello @sreekala.a ,

    To get the initial response from LPC on start-up may take a bit of time- if this is what you are seeing, the same delay should be observed by you when you connect with rmdstestclient, to LPC, is this delay consistent between the two consumers?

    Are you continuing to see the updates on all your instruments? Are you logging stream closed fully, is it for one of your open items?

    It can be:

    2021/10/18 13:06:43.634 TRACE <- Received MMT_MARKET_PRICE Status
    streamState : Closed
    dataState : Ok
    statusCode : None
    statusText : Process batch request message, batch stream is being closed
    Batch handle: 2410630049840
    itemFrom : BatchItemList1

    batch stream closed, when the separate streams for every request in the batch have been established.

    Or

    2021/10/18 13:06:44.037 TRACE <- Received MMT_MARKET_PRICE Status
    serviceName : ELEKTRON_DD
    symbolName : XTO.N
    streamState : Closed
    dataState : Suspect
    statusCode : NotFound
    statusText : **The record could not be found
    itemName : XTO.N
    itemHandle : 2410630053424
    itemFrom : BatchItemList2
    ********************** INFO ************************ INFO **********************
    2021/10/18 13:06:44.041 INFO
    <- Received Event Stream Closed Event, event type: OMMItemEvent handle: 2410630053424

    record not found - stream closed.

  • zoya faberov For the premium Support, since we don't contact regularly, we don't know who it is, How can we change the premium support name? and how to open premium support ticket?