question

Upvotes
Accepted
1 0 2 6

(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



errorrefinitiv-realtime-sdk
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.

1 Answer

Upvotes
Accepted
45.2k 103 43 60

@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


1634184575885.png (41.1 KiB)
1634184597527.png (88.6 KiB)
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.