Package org.apache.hadoop.ha
Interface HAServiceProtocol
@Public
@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.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumAn HA service may be in active or standby state.static enumstatic classorg.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfoInformation describing the source for a request to change state. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.hadoop.ha.HAServiceStatusReturn the current status of the service.voidMonitor the health of service.voidtransitionToActive(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo) Request service to transition to active state.voidtransitionToObserver(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo) Request service to transition to observer state.voidtransitionToStandby(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo) Request service to transition to standby state.
-
Field Details
-
versionID
static final long versionIDInitial version of the protocol- See Also:
-
-
Method Details
-
monitorHealth
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 throwHealthCheckFailedException. 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.AccessControlException- if access is denied.IOException- if other errors happen
-
transitionToActive
void transitionToActive(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo) throws ServiceFailedException, AccessControlException, IOException Request service to transition to active state. No operation, if the service is already in active state.- Parameters:
reqInfo- reqInfo.- Throws:
ServiceFailedException- if transition from standby to active fails.AccessControlException- if access is denied.IOException- if other errors happen
-
transitionToStandby
void transitionToStandby(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo) throws ServiceFailedException, AccessControlException, IOException Request service to transition to standby state. No operation, if the service is already in standby state.- Parameters:
reqInfo- reqInfo.- Throws:
ServiceFailedException- if transition from active to standby fails.AccessControlException- if access is denied.IOException- if other errors happen
-
transitionToObserver
void transitionToObserver(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo reqInfo) throws ServiceFailedException, AccessControlException, IOException Request service to transition to observer state. No operation, if the service is already in observer state.- Parameters:
reqInfo- reqInfo.- Throws:
ServiceFailedException- if transition from standby to observer fails.AccessControlException- if access is denied.IOException- if other errors happen
-
getServiceStatus
Return the current status of the service. The status indicates the current state (e.g ACTIVE/STANDBY) as well as some additional information.- Returns:
- HAServiceStatus.
- Throws:
AccessControlException- if access is denied.IOException- if other errors happen- See Also:
-
HAServiceStatus
-