[
https://issues.apache.org/jira/browse/HBASE-20515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17245092#comment-17245092
]
Shroff Amrith Nayak commented on HBASE-20515:
-
Additionally, I have observed that there is one shutdown hook spawned from
`HFileArchiver#getArchiveExecutor` that is tied to the PEWorkerGroup
ThreadGroup which can throw an `IllegalStateException` on JVM shutdown if the
minicluster is stopped in a different lifecycle, say when test case execution
is completed. This can cause `ApplicationShutdownHooks` (openJDK) to
prematurely terminate potentially causing cascading errors.
Interested to discuss alternative solutions.
> Cleanup ProcedureExecutor#stop and #join interaction/dependency
> ---
>
> Key: HBASE-20515
> URL: https://issues.apache.org/jira/browse/HBASE-20515
> Project: HBase
> Issue Type: Task
> Components: amv2
>Reporter: Michael Stack
>Priority: Major
>
> See HBASE-20169 discussion toward the end. What the discussion makes clear is
> that there is an ordering expected around the shutdown of
> PerformanceExecutor; first #stop must be called and then #join. In
> multi-threaded context, this may not always happen.
> Also look at #join. It is doing harvesting and cleanup which is not what a
> #join usually does; #join is usually more an observer than a final tidying of
> resources.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)