[jira] [Commented] (HBASE-20515) Cleanup ProcedureExecutor#stop and #join interaction/dependency

2020-12-07 Thread Michael Stack (Jira)


[ 
https://issues.apache.org/jira/browse/HBASE-20515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17245466#comment-17245466
 ] 

Michael Stack commented on HBASE-20515:
---

I've not looked at this in a while. Do you have ideas [~amrith92]  ?

> 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)


[jira] [Commented] (HBASE-20515) Cleanup ProcedureExecutor#stop and #join interaction/dependency

2020-12-07 Thread Shroff Amrith Nayak (Jira)


[ 
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)