blob: 7123512416d79c516ee3bfdb6faa6e9eadc64faa [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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.hadoop.hbase.replication (Apache HBase 3.0.0-SNAPSHOT API)</title>
<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="org.apache.hadoop.hbase.replication (Apache HBase 3.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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/hbase/regionserver/wal/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/replication/master/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/replication/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.hadoop.hbase.replication</h1>
<div class="docSummary">
<div class="block">Multi Cluster Replication</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationEndpoint</a></td>
<td class="colLast">
<div class="block">ReplicationEndpoint is a plugin which implements replication
to other HBase clusters, or other systems.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationListener.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationListener</a></td>
<td class="colLast">
<div class="block">The replication listener interface can be implemented if a class needs to subscribe to events
generated by the ReplicationTracker.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeer</a></td>
<td class="colLast">
<div class="block">ReplicationPeer manages enabled / disabled state for the peer.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfigBuilder.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeerConfigBuilder</a></td>
<td class="colLast">
<div class="block">For creating <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication"><code>ReplicationPeerConfig</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfigListener.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeerConfigListener</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationPeerStorage</a></td>
<td class="colLast">
<div class="block">Perform read/write to the replication peer storage.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueStorage.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationQueueStorage</a></td>
<td class="colLast">
<div class="block">Perform read/write to the replication queue storage.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationTracker.html" title="interface in org.apache.hadoop.hbase.replication">ReplicationTracker</a></td>
<td class="colLast">
<div class="block">This is the interface for a Replication Tracker.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/WALCellFilter.html" title="interface in org.apache.hadoop.hbase.replication">WALCellFilter</a></td>
<td class="colLast">
<div class="block">A filter for WAL entry cells before being sent over to replication.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryFilter.html" title="interface in org.apache.hadoop.hbase.replication">WALEntryFilter</a></td>
<td class="colLast">
<div class="block">A Filter for WAL entries before being sent over to replication.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/BaseReplicationEndpoint.html" title="class in org.apache.hadoop.hbase.replication">BaseReplicationEndpoint</a></td>
<td class="colLast">
<div class="block">A Base implementation for <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication"><code>ReplicationEndpoint</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/BulkLoadCellFilter.html" title="class in org.apache.hadoop.hbase.replication">BulkLoadCellFilter</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ChainWALEmptyEntryFilter.html" title="class in org.apache.hadoop.hbase.replication">ChainWALEmptyEntryFilter</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/hadoop/hbase/replication/ChainWALEntryFilter.html" title="class in org.apache.hadoop.hbase.replication"><code>ChainWALEntryFilter</code></a> for providing more flexible options</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ChainWALEntryFilter.html" title="class in org.apache.hadoop.hbase.replication">ChainWALEntryFilter</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/hadoop/hbase/replication/WALEntryFilter.html" title="interface in org.apache.hadoop.hbase.replication"><code>WALEntryFilter</code></a> which contains multiple filters and applies them
in chain order</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ClusterMarkingEntryFilter.html" title="class in org.apache.hadoop.hbase.replication">ClusterMarkingEntryFilter</a></td>
<td class="colLast">
<div class="block">Filters out entries with our peerClusterId (i.e.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.html" title="class in org.apache.hadoop.hbase.replication">HBaseReplicationEndpoint</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/hadoop/hbase/replication/BaseReplicationEndpoint.html" title="class in org.apache.hadoop.hbase.replication"><code>BaseReplicationEndpoint</code></a> for replication endpoints whose
target cluster is an HBase cluster.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.PeerRegionServerListener.html" title="class in org.apache.hadoop.hbase.replication">HBaseReplicationEndpoint.PeerRegionServerListener</a></td>
<td class="colLast">
<div class="block">Tracks changes to the list of region servers in a peer's cluster.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.SinkPeer.html" title="class in org.apache.hadoop.hbase.replication">HBaseReplicationEndpoint.SinkPeer</a></td>
<td class="colLast">
<div class="block">Wraps a replication region server sink to provide the ability to identify it.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/NamespaceTableCfWALEntryFilter.html" title="class in org.apache.hadoop.hbase.replication">NamespaceTableCfWALEntryFilter</a></td>
<td class="colLast">
<div class="block">Filter a WAL Entry by the peer config: replicate_all flag, namespaces config, table-cfs config,
exclude namespaces config, and exclude table-cfs config.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationBarrierFamilyFormat.html" title="class in org.apache.hadoop.hbase.replication">ReplicationBarrierFamilyFormat</a></td>
<td class="colLast">
<div class="block">Helper class for storing replication barriers in family 'rep_barrier' of meta table.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationBarrierFamilyFormat.ReplicationBarrierResult.html" title="class in org.apache.hadoop.hbase.replication">ReplicationBarrierFamilyFormat.ReplicationBarrierResult</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.Context.html" title="class in org.apache.hadoop.hbase.replication">ReplicationEndpoint.Context</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.ReplicateContext.html" title="class in org.apache.hadoop.hbase.replication">ReplicationEndpoint.ReplicateContext</a></td>
<td class="colLast">
<div class="block">A context for <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html#replicate-org.apache.hadoop.hbase.replication.ReplicationEndpoint.ReplicateContext-"><code>ReplicationEndpoint.replicate(ReplicateContext)</code></a> method.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationFactory.html" title="class in org.apache.hadoop.hbase.replication">ReplicationFactory</a></td>
<td class="colLast">
<div class="block">A factory class for instantiating replication objects that deal with replication state.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSink.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSink</a></td>
<td class="colLast">
<div class="block">A HBase ReplicationLoad to present MetricsSink information</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSource.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSource</a></td>
<td class="colLast">
<div class="block">A HBase ReplicationLoad to present MetricsSource information</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationLoadSource.ReplicationLoadSourceBuilder.html" title="class in org.apache.hadoop.hbase.replication">ReplicationLoadSource.ReplicationLoadSourceBuilder</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a></td>
<td class="colLast">
<div class="block">A configuration for the replication peer cluster.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.ReplicationPeerConfigBuilderImpl.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig.ReplicationPeerConfigBuilderImpl</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a></td>
<td class="colLast">
<div class="block">The POJO equivalent of ReplicationProtos.ReplicationPeerDescription.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerImpl.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerImpl</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeers.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeers</a></td>
<td class="colLast">
<div class="block">This provides an class for maintaining a set of peer clusters.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationQueueInfo.html" title="class in org.apache.hadoop.hbase.replication">ReplicationQueueInfo</a></td>
<td class="colLast">
<div class="block">This class is responsible for the parsing logic for a queue id representing a queue.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationSinkServiceImpl.html" title="class in org.apache.hadoop.hbase.replication">ReplicationSinkServiceImpl</a></td>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationStorageFactory.html" title="class in org.apache.hadoop.hbase.replication">ReplicationStorageFactory</a></td>
<td class="colLast">
<div class="block">Used to create replication storage(peer, queue) classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationTrackerZKImpl.html" title="class in org.apache.hadoop.hbase.replication">ReplicationTrackerZKImpl</a></td>
<td class="colLast">
<div class="block">This class is a ZooKeeper implementation of the ReplicationTracker interface.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationUtils.html" title="class in org.apache.hadoop.hbase.replication">ReplicationUtils</a></td>
<td class="colLast">
<div class="block">Helper class for replication.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ScopeWALEntryFilter.html" title="class in org.apache.hadoop.hbase.replication">ScopeWALEntryFilter</a></td>
<td class="colLast">
<div class="block">Keeps KVs that are scoped other than local</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/SystemTableWALEntryFilter.html" title="class in org.apache.hadoop.hbase.replication">SystemTableWALEntryFilter</a></td>
<td class="colLast">
<div class="block">Skips WAL edits for all System tables including hbase:meta.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/VerifyWALEntriesReplicationEndpoint.html" title="class in org.apache.hadoop.hbase.replication">VerifyWALEntriesReplicationEndpoint</a></td>
<td class="colLast">
<div class="block">A dummy <a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationEndpoint.html" title="interface in org.apache.hadoop.hbase.replication"><code>ReplicationEndpoint</code></a> that replicates nothing.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ZKReplicationPeerStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationPeerStorage</a></td>
<td class="colLast">
<div class="block">ZK based replication peer storage.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ZKReplicationQueueStorage.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationQueueStorage</a></td>
<td class="colLast">
<div class="block">ZK based replication queue storage.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ZKReplicationStorageBase.html" title="class in org.apache.hadoop.hbase.replication">ZKReplicationStorageBase</a></td>
<td class="colLast">
<div class="block">This is a base class for maintaining replication related data,for example, peer, queue, etc, in
zookeeper.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeer.PeerState.html" title="enum in org.apache.hadoop.hbase.replication">ReplicationPeer.PeerState</a></td>
<td class="colLast">
<div class="block">State of the peer, whether it is enabled or not</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/SyncReplicationState.html" title="enum in org.apache.hadoop.hbase.replication">SyncReplicationState</a></td>
<td class="colLast">
<div class="block">Used by synchronous replication.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exception</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationException.html" title="class in org.apache.hadoop.hbase.replication">ReplicationException</a></td>
<td class="colLast">
<div class="block">An HBase Replication exception.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.hadoop.hbase.replication Description">Package org.apache.hadoop.hbase.replication Description</h2>
<div class="block"><h1>Multi Cluster Replication</h1>
<p>Cluster replication documentation has been moved to the link:http://hbase.apache.org/book.html#_cluster_replication[Cluster Replication] section of the link:http://hbase.apache.org/book.html[Apache HBase Reference Guide].</p></div>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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/hbase/regionserver/wal/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/hadoop/hbase/replication/master/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/hbase/replication/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>