503: Transaction Failure: The number of messages in the transaction exceeds the limit [Subcode:63]))

sjaak
sjaak Member Posts: 109 ✭✭✭

Hi,
We're a Boomi implementation partner. We want to empty a queue with 20000 messages which we don't want to process.

  • We tried to empty the queue with JMSToolbox. However, JMSToolbox gives the error (See screenshot below).
  • We also tried to delete messages from the Solace Cloud management console but there's a restriction of 100 messages per page.
    Any tips?
Tagged:

Comments

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 959 admin

    Hi @sjaak,
    This is definitely a feature that I would love to see added in the PubSub+ Manager and is on the list of enhancements! In the meantime both JMSToolBox or soladmin (our legacy thick client) are ways of doing this with a GUI. Note that the max transaction size is going up to 10K (I think) in the next broker release so hopefully JMSToolBox will continue to work when there are less than 10k messages to purge. I don't believe this will be an issue at all with soladmin.

    Also, any app that consumes messages can just take them off the queue and discard them. One way of doing this could be using sdkperf, e.g: sdkperf_java.sh -cip localhost:55555 -cu default -cp default -sql MY_QUEUE

    Hope that helps!

  • sjaak
    sjaak Member Posts: 109 ✭✭✭

    Hi @marc ,
    Thanks for your reply.

    • I've done a test with 26K messages using soladmin. I could empty the queue with 1 click. Apparently, soladmin has no max transaction size restriction. We can't of course give soladmin access to customers to manage queues :wink: So, there's a workaround. But it increases support costs for customers because they have to log a support ticket and ask us to empty a queue.
    • Technically, we could also consume them using Boomi but that requires building and deploying a separate process per queue. it's also very slow because the Boomi Solace connector can consume maximum 5 messages at the time. So, this is not practical and scalable.

    2 questions
    1. what is the reason why there's a max transaction size restriction?
    2. Is there a SEMP API to empty queues? I could not find one.

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 959 admin

    Hi @sjaak,
    Thanks for the additional context. Yes, I could see how Boomi consuming max 5 messages a time could take awhile :)
    To respond to your questions:

    1. what is the reason why there's a max transaction size restriction?

    This must just be how JMSToolBox implements it. I'm guessing under the covers it is trying to read all the messages as part of one transaction but would have to dig into their code to see for sure. As you noticed, soladmin does not do this :)

    1. Is there a SEMP API to empty queues? I could not find one.

    There is not, this is the main reason that PS+ Manager doesn't yet support the "empty queue" capability yet. It's on the enhancement list and I upvoted it internally since it came up in this conversation :)

  • sjaak
    sjaak Member Posts: 109 ✭✭✭

    Thanks for the vote @marc ! :smile:

  • marc
    marc Member, Administrator, Moderator, Employee Posts: 959 admin

    Another option that I missed before would be to use the Solace CLI to delete the messages: https://docs.solace.com/System-and-Software-Maintenance/VPN-Level-Msg-Spool-Admin-Tasks.htm#managing_guaranteed_messaging_1810020758_571654