Re: [PATCH] SMPP Throttling

Donald Jackson <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Hi Alex,

It's not a work around for the problem you mentioned, its a fix for the
throughput sleep time. The potential side effect as you say is it might just
increase the likelihood of a MO/DLR timeout (but still highly unlikely),
which is an unrelated/outside problem relating to the transceiver bind.

Your patch also works, but it works differently. The operator I tested it on
seems to still give me throttling errors with your patch, I think they are
using a per message calculation of throttling as opposed to an average which
your patch caters for.

I am still happy with my patch as it is working best for me, but I am not
the committer :)

Thanks for your help,
Donald

2009/2/12 Alexander Malysh <[email protected]>

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


-- 
Donald Jackson
http://www.ddj.co.za/
donaldjster(a)gmail.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.