You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Ming Ma (JIRA)" <ji...@apache.org> on 2014/08/25 19:35:04 UTC
[jira] [Updated] (HADOOP-11000) HAServiceProtocol's health state is
incorrectly transitioned to SERVICE_NOT_RESPONDING
[ https://issues.apache.org/jira/browse/HADOOP-11000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ming Ma updated HADOOP-11000:
-----------------------------
Attachment: HADOOP-11000.patch
Here is the draft patch.
1. Catch HealthCheckFailedException properly.
2. Update test code for HA scenario to cover protocol buffer RPC scenario.
> HAServiceProtocol's health state is incorrectly transitioned to SERVICE_NOT_RESPONDING
> --------------------------------------------------------------------------------------
>
> Key: HADOOP-11000
> URL: https://issues.apache.org/jira/browse/HADOOP-11000
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Ming Ma
> Attachments: HADOOP-11000.patch
>
>
> When HAServiceProtocol.monitorHealth throws a HealthCheckFailedException, the actual exception from protocol buffer RPC is a RemoteException that wraps the real exception. Thus the state is incorrectly transitioned to SERVICE_NOT_RESPONDING
> {noformat}
> HealthMonitor.java
> doHealthChecks
> try {
> status = proxy.getServiceStatus();
> proxy.monitorHealth();
> healthy = true;
> } catch (HealthCheckFailedException e) {
> .....
> enterState(State.SERVICE_UNHEALTHY);
> } catch (Throwable t) {
> .....
> enterState(State.SERVICE_NOT_RESPONDING);
> .....
> }
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.2#6252)