Error: 1009 - "Unable to get session channel buffer to send message."

Hi,

I'm using Elektron Zero Daemon and connecting to it from my own daemon program.

After about 10 minutes from when my daemon program establishes channel connection to EZD, EZD emits the following error log and my daemon program stops getting realtime feed from EZD.

<${MY_EZD_HOST}.ezd: Error: Wed Jan 18  14:00:01.792779 2017> 
Disconnecting secure channel secureChannel.2. Disconnecting user socket 6 from host ${MY_DAEMON_HOST}. Reason: Unable to get session channel buffer to send message. Disconnecting chan│License : Feature values in license file
nel. Error: <Impl/ripcsrvr.c:7828> Error: 1009 ripcIntWrtHeader() failed, out of output buffers. The output buffer may need to be flushed.

<END>

Both a host with EZD and one with my daemon program have enough available memory.

What can be a cause? How can I solve this problem?

Thanks,

Best Answer

  • The error indicates that the reserved buffers for the channel is depleted so EZD was unable to get the buffer from the channel to send message. After that EZD disconnected the connection.

    Typically, there are three reasons for this.

    1. The application may be a slow consumer which is unable to handle the high update rate sent by EZD. To solve the problem, you need to verify the application logic to make sure that the callback returns as fast as possible

    2. It could be a network issue. The network may be congestion.

    3. It may relate to EZD settings, such as the number of output buffer or TCP buffer. You can contact EZD support team to verify the settings.

Answers

  • It looks like your EZD is disconnecting for some reason. The failure in getting a buffer is likely occurring due to the disconnect (connections have to be actively connected for our underlying transport to allow them to get buffers).