Re: [PATCH] fixes an issue when main thread is sleeping when receiving data.
Alexander Malysh <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
ok, commited to cvs.
Thanks,
Alex
Am 30.04.2009 um 13:07 schrieb Vincent CHAVANIS:
>
> i confirm this also fix the issue.
>
> Tested twice, with 1000 and 10000 sendings.
>
> 2009-04-30 13:02:05.0788 [31537] [0] INFO: mtbatch has processed
> 10000 messages with 0 errors
> 2009-04-30 13:02:06.0329 [31537] [1] INFO: Received acks: 10000
> success, 0 failed, 0 failed temporarly, 0 queued, 100 other in 6
> seconds (1666.67 per second)
> 2009-04-30 13:02:06.0329 [31537] [1] DEBUG: Thread 1 (utils/
> mtbatch.c:read_messages_from_bearerbox) terminates.
> 2009-04-30 13:02:06.0332 [31537] [0] DEBUG: Immutable octet strings:
> 2.
>
>
> ++1 for me
>
> Vincent.
>
>
> Alexander Malysh a écrit :
>> hi Vincent,
>> please try attached patch. The mtbatch freeze because in main we
>> try to join all threads (gwthread_join_all) but
>> in read_messages_from_bearerbox we blocked infinite waiting for
>> acks from bearerbox.
>> Thanks,
>> Alex
>> Am 17.04.2009 um 11:35 schrieb Vincent CHAVANIS:
>>>
>>> I've experiences somes troubles when sending 3500 msg/sec
>>> Sometimes, the main thread_id is freezed.
>>>
>>>
>>> # On the code executed below:
>>>
>>> sended = run_batch();
>>>
>>> info(0," mark#1 ");
>>>
>>> /* avoid exiting before sending all msgs */
>>> while(sended > counter_value(counter)) {
>>> info(0," mark#2 ");
>>> gwthread_sleep(0.1);
>>> }
>>>
>>>
>>> # i got this:
>>>
>>> 2009-04-17 11:31:55.0720 [22720] [0] DEBUG: message length 130,
>>> sending 1 messages
>>> 2009-04-17 11:31:55.0720 [22720] [0] DEBUG: message length 130,
>>> sending 1 messages
>>> 2009-04-17 11:31:55.0720 [22720] [0] DEBUG: message length 130,
>>> sending 1 messages
>>> 2009-04-17 11:31:55.0721 [22720] [0] DEBUG: message length 130,
>>> sending 1 messages
>>> 2009-04-17 11:31:55.0721 [22720] [0] INFO: mtbatch has processed
>>> 999 messages with 0 errors
>>> 2009-04-17 11:31:55.0721 [22720] [0] INFO: mark#1
>>> 2009-04-17 11:31:55.0721 [22720] [0] INFO: mark#2
>>> (freezed)
>>> ^C
>>>
>>>
>>>
>>>
>>> Alexander Malysh a écrit :
>>>> Hi,
>>>> I don't get it, why this patch is needed? Could you please
>>>> describe in detail?
>>>> Thanks,
>>>> Alex
>>>> Am 16.04.2009 um 12:36 schrieb Vincent CHAVANIS:
>>>>>
>>>>> - When main thread is sleeping and receiving data by bearerbox,
>>>>> we will be into an infinite loop.
>>>>>
>>>>> This patch fix this by waking-up the main thread.
>>>>>
>>>>> Vincent.
>>>>>
>>>>>
>>>
>>>
>
> --
> Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
> Service Technique/Reseau - NOC
> Direction du Developpement xMS+
> http://www.telemaque.fr/
> [email protected]
> Tel : +33 4 92 90 99 84 (fax 9142)
>
>