blob: 40ec64a7c31f87d2e5a4397eaf92eec5484f905b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_292) on Tue Jun 15 06:00:49 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HAServiceProtocol (Apache Hadoop Main 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="HAServiceProtocol (Apache Hadoop Main 3.3.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HAServiceProtocol.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/hadoop/ha/FenceMethod.html" title="interface in org.apache.hadoop.ha"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/hadoop/ha/HAServiceProtocolHelper.html" title="class in org.apache.hadoop.ha"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/hadoop/ha/HAServiceProtocol.html" target="_top">Frames</a></li>
<li><a href="HAServiceProtocol.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.ha</div>
<h2 title="Interface HAServiceProtocol" class="title">Interface HAServiceProtocol</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Public
@InterfaceStability.Evolving
public interface <span class="typeNameLabel">HAServiceProtocol</span></pre>
<div class="block">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.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/ha/HAServiceProtocol.html#versionID">versionID</a></span></code>
<div class="block">Initial version of the protocol</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>org.apache.hadoop.ha.HAServiceStatus</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/ha/HAServiceProtocol.html#getServiceStatus--">getServiceStatus</a></span>()</code>
<div class="block">Return the current status of the service.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/ha/HAServiceProtocol.html#monitorHealth--">monitorHealth</a></span>()</code>
<div class="block">Monitor the health of service.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/ha/HAServiceProtocol.html#transitionToActive-org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo-">transitionToActive</a></span>(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo&nbsp;reqInfo)</code>
<div class="block">Request service to transition to active state.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/ha/HAServiceProtocol.html#transitionToObserver-org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo-">transitionToObserver</a></span>(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo&nbsp;reqInfo)</code>
<div class="block">Request service to transition to observer state.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/hadoop/ha/HAServiceProtocol.html#transitionToStandby-org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo-">transitionToStandby</a></span>(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo&nbsp;reqInfo)</code>
<div class="block">Request service to transition to standby state.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="versionID">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>versionID</h4>
<pre>static final&nbsp;long versionID</pre>
<div class="block">Initial version of the protocol</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.hadoop.ha.HAServiceProtocol.versionID">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="monitorHealth--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>monitorHealth</h4>
<pre>void&nbsp;monitorHealth()
throws <a href="../../../../org/apache/hadoop/ha/HealthCheckFailedException.html" title="class in org.apache.hadoop.ha">HealthCheckFailedException</a>,
<a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">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 <a href="../../../../org/apache/hadoop/ha/HealthCheckFailedException.html" title="class in org.apache.hadoop.ha"><code>HealthCheckFailedException</code></a>.
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.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/hadoop/ha/HealthCheckFailedException.html" title="class in org.apache.hadoop.ha">HealthCheckFailedException</a></code> - if the health check of a service fails.</dd>
<dd><code><a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a></code> - if access is denied.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if other errors happen</dd>
</dl>
</li>
</ul>
<a name="transitionToActive-org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transitionToActive</h4>
<pre>void&nbsp;transitionToActive(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo&nbsp;reqInfo)
throws <a href="../../../../org/apache/hadoop/ha/ServiceFailedException.html" title="class in org.apache.hadoop.ha">ServiceFailedException</a>,
<a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Request service to transition to active state. No operation, if the
service is already in active state.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/hadoop/ha/ServiceFailedException.html" title="class in org.apache.hadoop.ha">ServiceFailedException</a></code> - if transition from standby to active fails.</dd>
<dd><code><a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a></code> - if access is denied.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if other errors happen</dd>
</dl>
</li>
</ul>
<a name="transitionToStandby-org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transitionToStandby</h4>
<pre>void&nbsp;transitionToStandby(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo&nbsp;reqInfo)
throws <a href="../../../../org/apache/hadoop/ha/ServiceFailedException.html" title="class in org.apache.hadoop.ha">ServiceFailedException</a>,
<a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Request service to transition to standby state. No operation, if the
service is already in standby state.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/hadoop/ha/ServiceFailedException.html" title="class in org.apache.hadoop.ha">ServiceFailedException</a></code> - if transition from active to standby fails.</dd>
<dd><code><a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a></code> - if access is denied.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if other errors happen</dd>
</dl>
</li>
</ul>
<a name="transitionToObserver-org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transitionToObserver</h4>
<pre>void&nbsp;transitionToObserver(org.apache.hadoop.ha.HAServiceProtocol.StateChangeRequestInfo&nbsp;reqInfo)
throws <a href="../../../../org/apache/hadoop/ha/ServiceFailedException.html" title="class in org.apache.hadoop.ha">ServiceFailedException</a>,
<a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Request service to transition to observer state. No operation, if the
service is already in observer state.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/hadoop/ha/ServiceFailedException.html" title="class in org.apache.hadoop.ha">ServiceFailedException</a></code> - if transition from standby to observer fails.</dd>
<dd><code><a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a></code> - if access is denied.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if other errors happen</dd>
</dl>
</li>
</ul>
<a name="getServiceStatus--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getServiceStatus</h4>
<pre>org.apache.hadoop.ha.HAServiceStatus&nbsp;getServiceStatus()
throws <a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a>,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Return the current status of the service. The status indicates
the current <em>state</em> (e.g ACTIVE/STANDBY) as well as
some additional information.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/hadoop/security/AccessControlException.html" title="class in org.apache.hadoop.security">AccessControlException</a></code> - if access is denied.</dd>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if other errors happen</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>HAServiceStatus</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/HAServiceProtocol.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/hadoop/ha/FenceMethod.html" title="interface in org.apache.hadoop.ha"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/hadoop/ha/HAServiceProtocolHelper.html" title="class in org.apache.hadoop.ha"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/hadoop/ha/HAServiceProtocol.html" target="_top">Frames</a></li>
<li><a href="HAServiceProtocol.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>