ambari-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hurley (JIRA)" <>
Subject [jira] [Updated] (AMBARI-20345) Alert Event Publisher Executor Doesn't Scale Threads
Date Tue, 07 Mar 2017 17:58:38 GMT


Jonathan Hurley updated AMBARI-20345:
    Status: Patch Available  (was: Open)

> Alert Event Publisher Executor Doesn't Scale Threads
> ----------------------------------------------------
>                 Key: AMBARI-20345
>                 URL:
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.5.0
>            Reporter: Jonathan Hurley
>            Assignee: Jonathan Hurley
>             Fix For: 2.5.0
>         Attachments: AMBARI-20345.patch
> The event bus which is used to handling incoming {{AlertEvent}} events is incorrectly
initialized and can never scale from the core number of threads. This is because it uses an
unbounded queued. From the [ThreadPoolExecutor|]
> {quote}
> A ThreadPoolExecutor will automatically adjust the pool size (see getPoolSize()) according
to the bounds set by corePoolSize (see getCorePoolSize()) and maximumPoolSize (see getMaximumPoolSize()).
When a new task is submitted in method execute(java.lang.Runnable), and fewer than corePoolSize
threads are running, a new thread is created to handle the request, even if other worker threads
are idle. If there are more than corePoolSize but less than maximumPoolSize threads running,
*a new thread will be created only if the queue is full.*
> {quote}
> We should switch to a configurable, bounded queue so that this property can be utilized
in large clusters where more than the default of 2 core threads is needed.

This message was sent by Atlassian JIRA

View raw message