Hi Donald,Am 12.02.2009 um 15:28 schrieb Donald Jackson: Hi Alex,
I'm not sure I understand your comment entirely, you say this patch might cause us to take too long to respond to a DLR/MO, which I understand, BUT this scenario is already possible if there are no other events calling the thread to wake up?
yes, it's possible therefore your patch is not a fix, it's just a workaround... did you tried my patch? I attach it again here, try it... |
smpp_throttling.patch
Description: Binary data
Thanks, Donald
2009/2/10 Alexander Malysh <[email protected]> Hi, yes, your patch seems to fix gwthread_wakeup but it's wrong too because we _may_ not sleep on transceiver bind because we could take too long to respond to dlr/mo. I have patch here for throttling, will try to rebase it... Thanks, Alex Donald Jackson schrieb: Hi everyone, Here is a patch I have created for SMPP throttling. To easily duplicate the bug you can take the following actions: -- Configure SMPP bind with very low throughput (ie: 0.1) -- Send 100 messages in quick succession What you can see from the debug output times is that when send_messages() is supposed to be sleeping for throttling purposes, it will get woken up by send_msg_cb()'s gwthread_wakeup(smpp->transmitter); call. This causes inaccuracy in the sleep time as the thread is prematurely woken up. This causes many throttling errors on high volume/load Kannel installations because of the increased throttling errors and the current default throttling sleep time which I see is being changed ;) My patch simply let's send_messages() indicate that it is sleeping for throttling purposes and shouldn't be woken up. Good luck! -- Donald Jackson http://www.ddj.co.za/ donaldjster(a)gmail.com
-- Donald Jackson http://www.ddj.co.za/ donaldjster(a)gmail.com
|