Is it possible to adjust the transport window size using v1.4 solace-pubsubplus Python client?
https://docs.solace.com/Messaging/Guaranteed-Msg/Configuring-Queues.htm says "Modifying max-delivered-unacked-msgs-per-flow
may negatively impact performance if it's set lower than the transport window size used by consuming clients."
Is possible to set the transport window size for a subscriber using the latest version (v1.4) of solace-pubsubplus python package? Thanks
Answers
-
Hi @balast,
Before I even answer that, I have to ask: why? What are you trying to do?
max-delivered-unacked-msgs-per-flow
is by default high (10,000) and the transport window is no where near as high (max 255), so it's a pretty rare condition to have the window bigger.0 -
Hi Tom, thanks for your quick response. My previous question explains my situation https://solace.community/discussion/comment/5414. I want to set transport window to 1 so that the subscribers only grab a single message from the queue at a time. I plan to leave
max-delivered-unacked-msgs-per-flow
at the default value.0 -
In this case you'll be setting both to 1. Leaving
max-delivered-unacked-msgs-per-flow
will not give you want you want, because the broker will deliver one message to the API, wait for the API to respond it got the message (which it will), then send another. You need to tell the broker to wait for an ack from the application (i.e. you called ack()) as well. That's what settingmax-delivered-unacked-msgs-per-flow
is forPerformance of the broker to consumer connection will indeed take a huge hit - but your need to process tasks one by one is greater than how fast you can get tasks to consumers. So, set both to 1 and don't worry about performance.
0 -
Hey @balast - as of right now you can only set the max-delivered-unacked-msg-per-flow to 1 using the management API SEMP. The python API doesnt support setting that property.
Our recommendation is to set this property on the queue and each consumer connected to the queue gets the same value.
0 -
Hey @Tamimi - what about the window size? Can we adjust the window size in Python?
0 -
Hey @AlexanderJHallAgain - you cant set the window size from the Python API either. If you set max-delivered-unacked-msg-per-flow to 1, you don't have to set the transport window, it will be effectively 1 as well.
0