Sorry, still stuck with day job :/  Will try to squeeze one hour out of
my busy schedule to review your explaination.


I also have to do a small experiment to reproduce the issue.


Thanks for your patience !


Le 17/01/2017 à 05:32, Xu Congyuan a écrit :
> Dear all, Hope you are doing well.
>
> Please kindly advise if the problem I found is on processing. Any
> informations , please feel free to let me know.
>
>
>
> 2017-01-13 9:12 GMT+08:00 Xu Congyuan <[email protected]>:
>
>> Thanks for reply. Sorry for not clear it.
>> Basically, we will get the number of idleWorkers 0 or more than 0,
>> if idleWorkers = 0, that's meaning no work is idle, we should add workers
>> if it's necessary;
>> if idleWorkers > 0 , that's meaning there are idle works, no necessary to
>> add workers.
>> Do I get the point?
>> Let's back to the original,  while the MINA starting. At this time, the
>> num of idleWorker == 0, therefor we call addWorkerIfNecessary() method when
>> task is coming, because of idleWorker == 0,  we do addWorker and increase
>> the num of idle at line 259 (version 2.0.16). so idleWorker == 1 at this
>> time, the first worker be fired and start running, we enter the infinite
>> loop, and decrease the num of idleWorker to 0 at line 686(version 2.0.16),
>> basically that's we expected, but there is exception throw by runTasks(),
>> the finally code is executed at line 707,  and increase the idleWorker to 1
>> again, the infinite 'for' loop drop out because we don't catch the
>> exception, the outer try...finally code executed at line 712 removed the
>> worker.
>> Let's sort out ideas, by now,  the idleWorker == 1 and there is no worker
>> is running, is right? so the mina fall into fake dead.
>>
>> Please let me know I did the right investigation.
>>
>>
>> 2017-01-13 0:11 GMT+08:00 Emmanuel Lécharny <[email protected]>:
>>
>>> Hi !
>>>
>>>
>>> sorry for the delayed response, was busy...
>>>
>>>
>>> I'm not sure I understand : if you get an exception in the runTasks()
>>> call, the 'finally' code is executed, and the number of idle worker is
>>> incremented, no matter what...
>>>
>>>
>>> Can you check that ?
>>>
>>> --
>>>
>>> Emmanuel Lecharny
>>>
>>> Symas.com
>>> directory.apache.org
>>>
>>>

-- 
Emmanuel Lecharny

Symas.com
directory.apache.org

Reply via email to