🎄 Happy Holidays! 🥳
Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.
Happy Holidays!
Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.
503: Transaction Failure: The number of messages in the transaction exceeds the limit [Subcode:63]))
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?
Comments
-
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!
1 -
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 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.0 -
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:- 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
- 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
1 -
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
0