EMA Channel disconnection

Hi

My customer experiences channel disconnection with various different error message.

1)

[23:50:15,680] WARN OmmConsumerImpl pool-2-thread-1 - loggerMsg

ClientName: ChannelCallbackClient

Severity: Warning

Text: Received ChannelDownReconnecting event on channel Channel_1

RsslReactor @52bea996

RsslChannel @2af737c6

Error Id 0

Internal sysError 0

Error Location null

Error text CompressorException: Malformed input at 3

loggerMsgEnd

2)

[01:50:15,071] WARN OmmConsumerImpl pool-2-thread-1 - loggerMsg

ClientName: ChannelCallbackClient

Severity: Warning

Text: Received ChannelDownReconnecting event on channel Channel_2

RsslReactor @52bea996

RsslChannel @2f945d81

Error Id 0

Internal sysError 0

Error Location Reactor.processWorkerEvent

Error text Ping error for channel: Lost contact with connection...

loggerMsgEnd

3)

[23:36:29,854] WARN OmmConsumerImpl pool-2-thread-1 - loggerMsg

ClientName: ChannelCallbackClient

Severity: Warning

Text: Received ChannelDownReconnecting event on channel Channel_1

RsslReactor @7d90767b

RsslChannel @670540d5

Error Id -1

Internal sysError 0

Error Location Reactor.performChannelRead

Error text

loggerMsgEnd


Could you help to find out each of error message actually mean ?

Many thanks in advance

Best Answer

  • Jirapongse
    Answer ✓

    This issue has been fixed in EMA and ETA 3.6.2.0 shipped with Refinitiv Real-Time SDK version 2.0.2.L1.

    Otherwise, the following workaround can be used:

    The workaround is to use SOCKET protocol for this encrypted connection.
    <EncryptedProtocolType value="EncryptedProtocolType::RSSL_SOCKET"/>

Answers

  • Hi @noboru.maruyama4

    The 1st error indicates that there was a problem decompressing the received data e.g. the length of the data did not match the expected length.

    The 2nd error suggests there was a ping timeout - i.e. the application did not receive data or a Ping from the server within the expected timeout period.

    For the 3rd Error, there is not enough information to narrow down the cause/reason. Looking at the ETA source code, there is usually a further explanatory text indicating the reason for the channel read failure.

  • Hi @umer.nalla

    Many thanks for sharing what each error message indicating.


    I would like to share this information to the customer though

    According to the customer, they are not using compression as defined below in the EmaConfig.xml

    <CompressionType value="CompressionType::None"/>


    Wonder if you could advise how come the user experience the 1st type of error ?

    Many thanks in advance

    Best regards

    Noboru Maruyama


  • Hi @noboru.maruyama4

    The above logger output does not provide enough information to provide any more detail on the possible reasons for the compression exception.

    However, the EMA config guide does state:

    NOTE: A server can be configured to force a particular compression type, regardless of client settings

    So, it could be that the server has forced compression enabled. Can you confirm what they are connecting to - an internal ADS / Refinitiv Real-Time Optimized / Refinitiv Pricing Streaming Optimized Service?

    If they are unsure, they should speak to their Refinitiv Account team to confirm if they are signed up for a compressed data feed? Or you can check with RTO feed support for guidance on when data is compressed.

  • hi @umer.nalla

    Thank you

    They are connecting to RTO feed. I will check with RTO feed support team then.


    Best regards

    Noboru Maruyama

  • Hello @umer.nalla


    I've shared the information you have provided as well as related RTO information bellow.

    https://refinitiv.sharepoint.com/teams/TechnicalTradingSpecialists/EnterpriseWiki/ERTCloud/oldematocloud.aspx


    Then, he asked "What is the recommended setting? With compression or without compression?"

    If I understood correctly your explanation so far, the API cannot choose with or without compression, correct ?


    It seems RTO forces LZ4 compression, hence the customer API should be forced to use compression feature?

    Appreciated to have your view on this.

    Thank you

    Noboru Maruyama


  • Hi @umer.nalla

    Many thanks for your comment.

    I am actually bit confused...

    1) How we can know if the customer licensed for compression ? By Default whether customers are not licensed ?

    2) How the customer ( in case of the compression licensed ) can enable/disable compression? Is there parameter in EmaConfig.xml?

    3) Lastly , Does the error message "Error text CompressorException: Malformed input at 3 " that my customer experienced mean the user attempt to use compress? If the compression disabled by the customer, this error message should not be appears?

    I think bottom line is that the customer would like to stop this error massage appears. Hope you could help if we can make this type of error not to be appeard?


    Thank you

    Best regards

    Noboru

  • Hi @noboru.maruyama4

    As mentioned previously, there is not sufficient information here to provide a more concrete explanation for the error reported.

    If the customer is seeing the above disconnect error quite often, then the RTO support team would need to be involved in helping to diagnose the disconnects.

    In terms of the compression error, if that is also occurring more than once and the customer wants to perform a deeper investigation of the issue (which cannot be done in a forum environment), they can (try to) create an RDC support ticket.

    image

    If they do not see the above option when they log into RTSDK Java page, then this means they are not signed up to the RDC service. If this is the case, they can discuss with their Refinitiv Account team to arrange the RDC service.
    Alternatively, it may be possible to create a one-off RDC ticket for them - I would need to discuss with the RDC team.