[
https://issues.apache.org/jira/browse/HBASE-23186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Xiaolin Ha updated HBASE-23186:
-------------------------------
Description:
HBASE-21072 imported to use HBaseFsck as default in hbase2.
{code:java}
if (this.conf.getBoolean("hbase.write.hbck1.lock.file", true)) {
HBaseFsck.checkAndMarkRunningHbck(this.conf,
HBaseFsck.createLockRetryCounterFactory(this.conf).create());
}{code}
We should close the dfs output stream when master abort/stop.
was:
HBASE-21072 imported to use HBaseFsck as default in hbase2.
{code:java}
if (this.conf.getBoolean("hbase.write.hbck1.lock.file", true)) {
HBaseFsck.checkAndMarkRunningHbck(this.conf,
HBaseFsck.createLockRetryCounterFactory(this.conf).create());
}{code}
But the fsck thread is not daemon,
{code:java}
public static Pair<Path, FSDataOutputStream>
checkAndMarkRunningHbck(Configuration conf,
RetryCounter retryCounter) throws IOException {
FileLockCallable callable = new FileLockCallable(conf, retryCounter);
ExecutorService executor = Executors.newFixedThreadPool(1);
...{code}
This will make JVM not exit.
We should set it be daemon and close the dfs output stream when master
abort/stop.
> Close dfs output stream in Fsck threads when master exit
> --------------------------------------------------------
>
> Key: HBASE-23186
> URL: https://issues.apache.org/jira/browse/HBASE-23186
> Project: HBase
> Issue Type: Bug
> Components: master
> Reporter: Xiaolin Ha
> Assignee: Xiaolin Ha
> Priority: Major
>
> HBASE-21072 imported to use HBaseFsck as default in hbase2.
> {code:java}
> if (this.conf.getBoolean("hbase.write.hbck1.lock.file", true)) {
> HBaseFsck.checkAndMarkRunningHbck(this.conf,
> HBaseFsck.createLockRetryCounterFactory(this.conf).create());
> }{code}
>
> We should close the dfs output stream when master abort/stop.
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)