Getting Error - rsslReactorGetBuffer(): Failed for ETA version - 3.8.3.G1

Sanaul_Haque
edited May 8 in ETA

Hi,

I am using ETA version - 3.8.3.G1. We have total 40k RICs to be registered. We are getting below error while registering RICs for almost 4934 times.
rsslReactorGetBuffer(): Failed <<D:\Jenkins\workspace\RTSDK_Core_DX1\OS\VS140-64\rcdev\source\rtsdk\Cpp-C\Eta\Impl\Transport\rsslSocketTransportImpl.c:1481> Error: 1009 ipcDataBuffer() failed, out of output buffers. The output buffer may need to be flushed.

Please help with the resolution.

Thanks, Sanaul

Answers

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @Sanaul_Haque

    Thank you for reaching out to us.

    When the ETA is initialized, it will reserve output buffers for each channel. A message will be encoded into an output buffer. Then the application needs to call the rsslWrite and rsslFlush methods to send data in the output buffer to network and release the buffer.

    This error indicates that it ran out of output buffers. First, you need to make sure that the rsslWrite and rsslFlush are called regularly and successfully.

    Otherwise, you can increase the size of the guaranteed output buffer in the RsslConnectOptions.

    	RsslConnectOptions copts = RSSL_INIT_CONNECT_OPTS;		
    
    	…
    
    	copts.guaranteedOutputBuffers = 500;
    

    The size of the guaranteed output buffer (RSSL_NUM_GUARANTEED_BUFFERS) can also be changed by using the rsslIoctl method. Moreover, you may need to increase the size of RSSL_SYSTEM_WRITE_BUFFERS by using the rsslIoctl method.

    For more information, please refer to the Consumer example and ETA Developer Guide in the package.

  • Hi @Jirapongse ,

    As you mentioned, I have increased the buffer size. Below value I have updated

    Before buffer Value :

    int rcvBfrSize = 65535;
    int sendBfrSize = 65535;

    After buffer value:

    int64 rcvBfrSize = 131070;
    int64 sendBfrSize = 131070;

    I have just doubled the buffer size and now I am not getting rssReactorGetBuffer() : Failed.

    Can you please let me know if the updated value I have set for buffer size is fine?

  • wasin.w
    wasin.w admin

    Hello @Sanaul_Haque

    My answer is not related to the question; however, I am noticing that you are using the "G" release of the SDK.

    Please be informed that the "G" release is a development version that released on GitHub only. The production version with full tested is the "L" release and "E" release (E-Loads, emergency release to fix some issues). I am recommended you using the "L" or "E" release of the SDK (see more detail on the ChangeLog.md file).

    You can download the L or E release from the following links:

  • Hi @wasin.w ,

    Thanks for making me notice this.

    Actually we are copying RTO SDK from confluence page of Quantum Dependencies for Windows. Here is the link - https://confluence.refinitiv.com/spaces/QF/pages/1273959952/Quantum+Dependencies+v2.0.3

    I have sent email to the team which updates this confluence. They have copied G1 version of Elektron SDK.