[ https://issues.apache.org/jira/browse/HBASE-6778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14286131#comment-14286131 ]
Jonathan Lawlor commented on HBASE-6778: ---------------------------------------- Thanks for answering these questions [~stack]. bq. As I reviewed, I saw you had good javadoc on the methods. What is missing is a bit of metadoc on what this service does and when to use it. That should go in class comment. Make sense? Ahh I see what you meant, that makes sense, thanks bq. Does ExecutorService not expose methods you could make use of? Queued chores and how many current threads? Could you do a heuristic based off these? Just a suggestion. The ScheduledThreadPoolExecutor does expose certain methods that reveal things like the size of the queue and the number of active threads. The problem with these methods is that they don't provide sufficient information to make the decision as to whether or not the current core thread pool is large enough. This is because being in the Queue does not necessarily mean that you are ready to execute (you may be in the queue because you are waiting for the start of your next execution). Thus, a large queue size does not indicate that there are many tasks that are ready to execute, but rather there are many tasks that are either waiting for their next start time OR ready to execute. Because of the ambiguity, I thought it would be best for chores to have a means by which they could tell the service that the core pool is not large enough, since the service cannot make this decision with its information alone. bq. Has anyone asked for it? Nobody has asked for the reschedule functionality so I'll be sure to keep it internal. Thanks [~stack] > 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: HBASE_6778_WIP_v1.patch, 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)