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

Reply via email to