[
https://issues.apache.org/jira/browse/HBASE-19527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16293952#comment-16293952
]
stack commented on HBASE-19527:
-------------------------------
bq. They would abruptly end even for a clean server shutdown.
Right. And not being daemon, they could get into some state where they would
prevent the RS from going down.
Perhaps though making them daemon makes it so they only half do a process ...
but we should be able to recover anyways even if something only half-done (an
open, a close, a master operation, etc. -- all the places an ExecutorService is
used).
I think I should push this. If it brings on an issue, its probably something
that was hidden by the way we currently go down.
I needed to keep a thread running until the last moment and didn't want to
check stopped or aborted flags because these were being set too early in the
shutdown process. Thats how I arrrived here. The thread that messages master
about region changed state was ending abruptly as soon as the RS set 'stop'
which it does early when a cluster is going down. Even after 'stop' is set, we
still have the close of all regions to be done..... With the messaging thread
killed, the notice does not get to Master that a region has been closed.
(Currently we don't make use of this message but maybe we should -- see
HBASE-19533)
Thanks for discussion [~appy]
> Make ExecutorService threads daemon=true.
> -----------------------------------------
>
> Key: HBASE-19527
> URL: https://issues.apache.org/jira/browse/HBASE-19527
> Project: HBase
> Issue Type: Bug
> Reporter: stack
> Assignee: stack
> Attachments: HBASE-19527.master.001.patch,
> HBASE-19527.master.001.patch, HBASE-19527.master.001.patch
>
>
> Let me try this. ExecutorService runs OPENs, CLOSE, etc. If Server is going
> down, no point in these threads sticking around (I think). Let me try this.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)