Reactor premature CHANNEL_READY on reconnect

Hi,

When the ValueAdd reactor first connects to an OMM provider the reactorChannelEventCallback is invoked with a CHANNEL_READY event only after it has received both the Field Dictionary and the Enum Dictionary. However, if the session is disconnected and the Reactor reestablishes the connection, the CHANNEL_READY event is received after it has received the Field Dictionary but before it has received the Enum Dictionary.

Is this expected behaviour? Is there a way to force the Reactor to wait until the Enum dictionary is received before sending CHANNEL_READY?

I am using ETA Java 3.5.0.0.

Thanks,

Mike

Best Answer

Answers

  • @Mike Slade

    I can replicate this issue with the VA Consumer example in the package.

    After creating a connection, the CHANNEL_READY event is fired after the EnumType dictionary has completed.

    EnumType Dictionary complete.
    Channel Ready Event: java.nio.channels.SocketChannel[connected local=/127.0.0.1:30848 remote=localhost/127.0.0.1:14002]

    However, after reconnecting, the CHANNEL_READY event is fired when RWFFld dictionary has received.

    Connection down reconnecting: Channel java.nio.channels.SocketChannel[connected local=/127.0.0.1:30848 remote=localhost/127.0.0.1:14002]
        Error text: An existing connection was forcibly closed by the remote host
    ...
    Received Dictionary Response: RWFFld
    Channel Ready Event: java.nio.channels.SocketChannel[connected local=/127.0.0.1:30850 remote=localhost/127.0.0.1:14002]

    I have compared this behavior of ETA C and found that ETA C works correctly. The RSSL_RC_CET_CHANNEL_READY has fired after the enumerated types dictionary has completed after reconnecting.

    Received Dictionary Response: RWFEnum
    Enumerated Types Dictionary complete.
    ### Channel is Ready ###
    ...
    Connection down, reconnecting.  Channel fd=464
    ...
    Received Dictionary Response: RWFEnum
    Enumerated Types Dictionary complete.
    ### Channel is Ready ###

    This could be a bug in ETA Java. Therefore, please submit a new case to RDC to verify the problem via Contact Premium Support at https://developers.refinitiv.com/elektron/elektron-sdk-java.

    image

    The support team will verify the problem and then contact the development team to fix it.