org.apache.hadoop.ha
Interface HAServiceProtocol


@InterfaceAudience.Public
@InterfaceStability.Evolving
public interface HAServiceProtocol

Protocol interface that provides High Availability related primitives to monitor and fail-over the service. This interface could be used by HA frameworks to manage the service.


Field Summary
static long versionID
          Initial version of the protocol
 
Method Summary
 org.apache.hadoop.ha.HAServiceStatus getServiceStatus()
          Return the current status of the service.
 void monitorHealth()
          Monitor the health of service.
 void transitionToActive(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo)
          Request service to transition to active state.
 void transitionToStandby(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo)
          Request service to transition to standby state.
 

Field Detail

versionID

static final long versionID
Initial version of the protocol

See Also:
Constant Field Values
Method Detail

monitorHealth

void monitorHealth()
                   throws HealthCheckFailedException,
                          org.apache.hadoop.security.AccessControlException,
                          IOException
Monitor the health of service. This periodically called by the HA frameworks to monitor the health of the service. Service is expected to perform checks to ensure it is functional. If the service is not healthy due to failure or partial failure, it is expected to throw HealthCheckFailedException. The definition of service not healthy is left to the service. Note that when health check of an Active service fails, failover to standby may be done.

Throws:
HealthCheckFailedException - if the health check of a service fails.
org.apache.hadoop.security.AccessControlException - if access is denied.
IOException - if other errors happen

transitionToActive

void transitionToActive(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo)
                        throws ServiceFailedException,
                               org.apache.hadoop.security.AccessControlException,
                               IOException
Request service to transition to active state. No operation, if the service is already in active state.

Throws:
ServiceFailedException - if transition from standby to active fails.
org.apache.hadoop.security.AccessControlException - if access is denied.
IOException - if other errors happen

transitionToStandby

void transitionToStandby(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo)
                         throws ServiceFailedException,
                                org.apache.hadoop.security.AccessControlException,
                                IOException
Request service to transition to standby state. No operation, if the service is already in standby state.

Throws:
ServiceFailedException - if transition from active to standby fails.
org.apache.hadoop.security.AccessControlException - if access is denied.
IOException - if other errors happen

getServiceStatus

org.apache.hadoop.ha.HAServiceStatus getServiceStatus()
                                                      throws org.apache.hadoop.security.AccessControlException,
                                                             IOException
Return the current status of the service. The status indicates the current state (e.g ACTIVE/STANDBY) as well as some additional information. HAServiceStatus

Throws:
org.apache.hadoop.security.AccessControlException - if access is denied.
IOException - if other errors happen


Copyright © 2012 Apache Software Foundation. All Rights Reserved.