Hi, Bo

  batchMessageExecutorService is used only when batchMessage is enabled,
which by default is not enabled unless you have explicitly set
"BATCH_MESSAGE_MODE" to true in either cluster config or ideal state.  So
it should not create/terminate threads if it is idle.   Do you have
thread-dump to show what thread were kept created?


Lei

On Mon, Jul 16, 2018 at 2:09 PM, Bo Liu <[email protected]> wrote:

> Thanks Lei.
>
> all the thread pools in _executorMap are fixed thread pools, which are
> unlikely to create threads after initialization.
>
> _batchMessageExecutorService looks a little suspicious, as it is a cached
> thread pool, which could terminate and create threads on the fly. However,
> I am not sure if it is used for state transitioning for OnlineOffline model?
>
>
>
> On Mon, Jul 16, 2018 at 12:33 PM Lei Xia <[email protected]> wrote:
>
>> Hi, Bo
>>
>>    Helix participant creates a thread-pool to handle the state transition
>> by default, and the application can supply its own thread-pool for specific
>> state-transition too. The default thread-pool size is 40, which is
>> configurable.
>>
>>
>> Lei
>>
>> On Mon, Jul 16, 2018 at 11:26 AM, Bo Liu <[email protected]> wrote:
>>
>>> Hi Helix team,
>>>
>>> We observe that the number of newly created threads increases when there
>>> are state transition messages to be processed, which has perf impact to
>>> online traffic. Wanted to rule out if this is from the Participant internal
>>> thread management.
>>>
>>> --
>>> Best regards,
>>> Bo
>>>
>>>
>>
>
> --
> Best regards,
> Bo
>
>

Reply via email to