[ 
https://issues.apache.org/jira/browse/HBASE-17838?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Janos Gub updated HBASE-17838:
------------------------------
    Attachment: initial.patch

I was trying to do some work on this one, so uploading the iniital patch to 
brainstorm about the direction.

I replaced the arraylist of Worker threads with a threadpoolexecutor, but 
several questions popped up:

- the default logic is somehow dynamic in the number of threads allocated, is 
there any advantage of replacing it other than having ThreadPoolExecutor as a 
common implementation?

- the default implementation uses a custom configurable logic to create new 
threads (definition of stuck threads, ratio of stuck threads etc). I think it 
would be quite hacky to put the same logic to a custom threadpoolexecutor

- in the current design, executer worker threads are polling the scheduler to 
gather tasks, what I tried to maintain in this patch, but I would feel more 
natural to make scheduler submit tasks to the executor. 

In sum: Is this a good direction at all?

> Replace fixed Executor Threads with dynamic thread pool 
> --------------------------------------------------------
>
>                 Key: HBASE-17838
>                 URL: https://issues.apache.org/jira/browse/HBASE-17838
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Performance, proc-v2
>            Reporter: Janos Gub
>            Assignee: Janos Gub
>             Fix For: 2.0.0
>
>         Attachments: initial.patch
>
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to