(Error Id -3) ChannelDownReconnecting event often happens with EMA API.


Hi All, I Often get error message like below.

What is meaning that "Error Id -3"?

Is there anybody tell me when like this issue happen ??


2021:10:13 13:40:07.903 WARN  --- [pool-13-thread-1] c.t.ema.access.OmmConsumerImpl : loggerMsg
ClientName: ChannelCallbackClient
Severity: Warning
Text: Received ChannelDownReconnecting event on channel DATA_CHANNEL_1
RsslReactor @276f412c
RsslChannel @53b007ab
Error Id -3
Internal sysError 0
Error Location Watchlist.encodeIntoBufferAndQueue
Error text socket channel is not in the active state for read
loggerMsgEnd


2021:10:13 13:40:07.903 WARN --- [pool-13-thread-1] c.t.ema.access.OmmConsumerImpl : loggerMsg
ClientName: LoginCallbackClient
Severity: Warning
Text: RDMLogin stream state was changed to suspect with status message
username <not set>
usernameType <not set>

State: Open/Suspect/None - text: ""
loggerMsgEnd


2021:10:13 13:40:08.940 INFO --- [pool-13-thread-1] c.t.ema.access.OmmConsumerImpl : loggerMsg
ClientName: ChannelCallbackClient
Severity: Info
Text: Received ChannelUp event on channel DATA_CHANNEL_1
Instance Name CONSUMER_1_1
Component Version ads3.3.3.L1.linux.tis.rrg 64-bit
loggerMsgEnd



Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @goodsgjung

    It could be NO_BUFFERS (-3).

    public static final int NO_BUFFERS

    Transport Failure: There are no buffers available from the buffer pool, returned from ReactorChannel.submit(com.refinitiv.eta.codec.Msg, ReactorSubmitOptions, ReactorErrorInfo). Use ReactorChannel.ioctl(int, int, ReactorErrorInfo) to increase pool size or wait for the Reactor's Worker thread to flush data and return buffers to pool. Use ReactorChannel.bufferUsage(ReactorErrorInfo) to monitor for free buffers.

    You can try to increase the number of the guarantee output buffer by setting the GuaranteedOutputBuffers configuration in the Channel. The default value is 100. For example:

            <Channel>
                <Name value="Channel_1"/>        
                <ChannelType value="ChannelType::RSSL_SOCKET"/>
                <GuaranteedOutputBuffers value="5000"/>
    ...


    You can find more information regarding error codes in the ETA Value Added Reference Guide (Eta/Docs/refman/etajvalueadd/constant-values.html#com.refinitiv.eta.valueadd.reactor.ReactorReturnCodes.NO_BUFFERS) and ETA Value Added Developer Guide in the Refinitiv Real-Time SDK Java package.

    1634184575885.png

    1634184597527.png