[
https://issues.apache.org/jira/browse/HBASE-8703?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Enis Soztutar updated HBASE-8703:
---------------------------------
Resolution: Fixed
Hadoop Flags: Reviewed
Status: Resolved (was: Patch Available)
Thanks Ted, Andrew. Committed the patch.
> [WINDOWS] Timed-out processes exit with non-zero code causing HealthChecker
> to report incorrectly
> -------------------------------------------------------------------------------------------------
>
> Key: HBASE-8703
> URL: https://issues.apache.org/jira/browse/HBASE-8703
> Project: HBase
> Issue Type: Sub-task
> Reporter: Enis Soztutar
> Assignee: Enis Soztutar
> Fix For: 0.98.0, 0.95.2
>
> Attachments: hbase-8703-0.94.patch, hbase-8703_v1.patch
>
>
> Hadoop ShellCommandExecutor on timeout, destroys the process, and later
> checks the exit code. On windows, if process is destroyed, the exit code is
> non-zero, so ShellCommandExecutor.execute() throws ExitCodeException rather
> than generic IOException. However, in HealthChecker, on catching
> ExitCodeException we do not check the timeout.
> It is unfortunate that Hadoop does not throw an TimeoutException, but
> provides .isTimedOut() api. And it seems that on timeout on linux, the
> throwing of the IOException is coincidental:
> {code}
> 2013-06-06 14:17:47,930 WARN [main] hbase.HealthChecker(79): Caught
> exception : java.io.IOException: Stream closed
> {code}
> It may not be worth fixing Hadoop for this, but we have to do the correct
> check anyway.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira