PubErrorEvent: Failed to publish the market data event to SAPI

iain.cadman
iain.cadman Newcomer

Using RFA 7.6 C++ on Linux, I get PubErrorEvent with State: None and StatusText "Failed
to publish the market data event to SAPI".

This is happening on a live system and I do not see this in test.

Tagged:

Best Answer

  • @iain.cadman

    The SAPI is the underlying layer in RFA that
    handles network connection (SSLED_MP connection) between the RFA
    MarketDataManagedPublisher and its clients. The PubErrEvent could be generated once SAPI could not write the message to the
    network with a specific reason.

    Below are some possible scenarios.

    - Image is published with status other than “Ok” or
    “Stale”

    SAPI allows only two types of status
    for image: Ok or Stale status. Other statuses, for example, “NoChanged” status
    means the state is the same as before which makes sense in term of an update
    but not an image.

    - There is not enough buffer for SAPI to send message to
    network

    RFA provide configuration parameter “outputBuffers” to tune this
    output buffer. For more detail, see RFA Configuration Guide provided in RFA
    package.

    You may try following parameter to isolate the issue.

    \Connections\Connection_SSLED_MP\outputBuffers = 100000000  

    If the scenarios listed above do not occur in your applicaiton, please provide further information such as reproduction steps, published messages.

Answers

  • Hi @iain.cadman

    If it is happening consistently on live system and you cannot recreate in test environment, then my immediate thought would be that there is some difference in the TREP config between your test and live environment. Or a difference in versions of TREP components between test and live?

    Can you provide a few more details on what you are trying to do, publisher type, connection type? Can you recreate using one of our example apps?

  • Thanks for the response. I am seeing this on a customer site, so there will likely be a difference in components and configuration.

    These messages only occur when the contributor program is being loaded tested. The publicationID on the error event is a long way behind that reported for a publish done around the same time.

    I will increase the buffers as suggested and see if this has an effect. I suspect, though, that increasing the buffers will only delay the problem.

  • @iain.cadman

    Yes, increasing the buffers will only delay the problem. If the parameter has an effect, the issue needs to be investigated further as there might be bottlenect on transport layer.