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 18.104.22.168.
Hello @Mike Slade
I have did a quick test and the application worked properly.
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.
The support team will verify the problem and then contact the development team to fix it.