[
https://issues.apache.org/jira/browse/HBASE-6778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14278048#comment-14278048
]
stack commented on HBASE-6778:
------------------------------
Sounds great [~jonathan.lawlor]
bq. Thus the core pool size could be set to a small initial value, and if we
recognize that Chores are missing their scheduled start times, we could
increase the core pool size to a maximum of however many active chores there
are.
If a thread is taking longer than its period, we won't schedule another
instance of the same Chore type? In other words, is there anything to prevent
the pool being filled with Chores all of the same type if taking longer their
period?
Can we have it so pool has a small minimum and a max that allows all chores run
concurrently if necessary... then when chore is done, threads die off till we
are back to the minimum again? That way, for those threads with a long period
between runs.... say 5 minutes... we create a thread each time?
Good stuff [~jonathan.lawlor]
> Deprecate Chore; its a thread per task when we should have one thread to do
> all tasks
> -------------------------------------------------------------------------------------
>
> Key: HBASE-6778
> URL: https://issues.apache.org/jira/browse/HBASE-6778
> Project: HBase
> Issue Type: Bug
> Reporter: stack
> Assignee: Jonathan Lawlor
> Attachments: thread_dump_HMaster.local.out
>
>
> Should use something like ScheduledThreadPoolExecutor instead (Elliott said
> this first I think; J-D said something similar just now).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)