Solace API (C#) on Document Too Large

sysem
sysem Member Posts: 15

https://docs.solace.com/Configuring-and-Managing/Managing-Event-Delivery-Resources.htm#managing_msg_delivery_resources_2491525118_198860

According to "Ingress Data Buffer Management",
"All SMF messages larger than the event broker's maximum message size—generally 30MB for guaranteed messages or 64MiB for direct messages—will be discarded. The publishing client will be disconnected, and CLIENT_CLIENT_MESSAGE_TOO_BIG event is raised."

(Solace C#/.NET API version 10.8.0)
From our own testing, we did find when publishing client try to send a message with > 64MB payload, the solace connection would be disconnected automatically.

But in this case, when we initialize the solace connection, if we set the reconnect retry count is > 0, then once publishing client disconnect, it would automatically reconnect.

However, once it reconnected, it would disconnect again. And this comes to a cycle (Reconnecting -> Reconnected -> Disconnect) infinitely until i close the process.

Is it normal? why it would disconnect right away once it reconnect ??

Comments

  • Ragnar
    Ragnar Member, Employee Posts: 64 Solace Employee

    If you publish large persistent or non-persistent messages, the broker will disconnect the session. A 'message too big' event may be received, but it does not identify the message. As the message is unacknowledged, the API will attempt to retransmit it on reconnect.

  • sysem
    sysem Member Posts: 15

    If you publish large persistent or non-persistent messages, the broker will disconnect the session. A 'message too big' event may be received,
    ==>
    Yes. I do receive Rejected Message Event - "Document Is Too Large" and solace session do got disconnected.

    But as solace connection attempt to reconnect itself continuously, the application just become unstable afterward.

    Is there any ways to stop the API to try retransmit the unacknowledged and large message ??

  • Aaron
    Aaron Member, Administrator, Moderator, Employee Posts: 508 admin

    Is it possible to make sure your String / byte array / payload isn't bigger than 30MB or whatever before attempting to publish it?

  • sysem
    sysem Member Posts: 15

    it is possible but if there is a control for us to set it .. it would be better ...

    as in our scenario.... once it happen.... the whole application just hang