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