[
https://issues.apache.org/jira/browse/HBASE-4015?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13091798#comment-13091798
]
ramkrishna.s.vasudevan commented on HBASE-4015:
-----------------------------------------------
bq.Why are we passing AssignmentManager a threadPoolExecutorService? Its used
by timeout monitor? Should creation of the executor service just live in the
timeout monitor and be constructed there rather than up in master and passed
in? Or is it that you need to be able to shut it down when master goes down?
Yes it is to shutdown the threadpoolexecutor service.
bq.+ public static enum TimeOutOperationType {
+ ASSIGN, UNASSIGN;
+ }
This is only an indication for the timeoutmanager callable to know whether to
assign or unassign
Formatting issues in previous patch has also been taken care.
> Refactor the TimeoutMonitor to make it less racy
> ------------------------------------------------
>
> Key: HBASE-4015
> URL: https://issues.apache.org/jira/browse/HBASE-4015
> Project: HBase
> Issue Type: Sub-task
> Affects Versions: 0.90.3
> Reporter: Jean-Daniel Cryans
> Assignee: ramkrishna.s.vasudevan
> Priority: Blocker
> Fix For: 0.92.0
>
> Attachments: HBASE-4015_1_trunk.patch, HBASE-4015_2_trunk.patch,
> Timeoutmonitor with state diagrams.pdf
>
>
> The current implementation of the TimeoutMonitor acts like a race condition
> generator, mostly making things worse rather than better. It does it's own
> thing for a while without caring for what's happening in the rest of the
> master.
> The first thing that needs to happen is that the regions should not be
> processed in one big batch, because that sometimes can take minutes to
> process (meanwhile a region that timed out opening might have opened, then
> what happens is it will be reassigned by the TimeoutMonitor generating the
> never ending PENDING_OPEN situation).
> Those operations should also be done more atomically, although I'm not sure
> how to do it in a scalable way in this case.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira