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... 

Attachment: 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

Reply via email to