blob: c37476519334e24bf20fbf3bec9c2b5828b1fc65 [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>EnabledTableSnapshotHandler (Apache HBase 3.0.0-alpha-2-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="EnabledTableSnapshotHandler (Apache HBase 3.0.0-alpha-2-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/EnabledTableSnapshotHandler.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/master/snapshot/DisabledTableSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.html" title="class in org.apache.hadoop.hbase.master.snapshot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html" target="_top">Frames</a></li>
<li><a href="EnabledTableSnapshotHandler.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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.hbase.master.snapshot</div>
<h2 title="Class EnabledTableSnapshotHandler" class="title">Class EnabledTableSnapshotHandler</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html" title="class in org.apache.hadoop.hbase.executor">org.apache.hadoop.hbase.executor.EventHandler</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">org.apache.hadoop.hbase.master.snapshot.TakeSnapshotHandler</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.hbase.master.snapshot.EnabledTableSnapshotHandler</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html" title="class in org.apache.hadoop.hbase.executor">EventHandler</a>&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>, <a href="../../../../../../org/apache/hadoop/hbase/errorhandling/ForeignExceptionSnare.html" title="interface in org.apache.hadoop.hbase.errorhandling">ForeignExceptionSnare</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html" title="interface in org.apache.hadoop.hbase.master">SnapshotSentinel</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Private
public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#line.47">EnabledTableSnapshotHandler</a>
extends <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a></pre>
<div class="block">Handle the master side of taking a snapshot of an online table, regardless of snapshot type.
Uses a <a href="../../../../../../org/apache/hadoop/hbase/procedure/Procedure.html" title="class in org.apache.hadoop.hbase.procedure"><code>Procedure</code></a> to run the snapshot across all the involved region servers.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../org/apache/hadoop/hbase/procedure/ProcedureCoordinator.html" title="class in org.apache.hadoop.hbase.procedure"><code>ProcedureCoordinator</code></a></dd>
</dl>
</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>private <a href="../../../../../../org/apache/hadoop/hbase/procedure/ProcedureCoordinator.html" title="class in org.apache.hadoop.hbase.procedure">ProcedureCoordinator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#coordinator">coordinator</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private static org.slf4j.Logger</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#LOG">LOG</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.master.snapshot.TakeSnapshotHandler">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.master.snapshot.<a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#conf">conf</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#htd">htd</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#master">master</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#metricsSnapshot">metricsSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#monitor">monitor</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#rootDir">rootDir</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#rootFs">rootFs</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#snapshot">snapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#snapshotManager">snapshotManager</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#snapshotManifest">snapshotManifest</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#snapshotTable">snapshotTable</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#status">status</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#workingDir">workingDir</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#workingDirFs">workingDirFs</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.executor.EventHandler">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.executor.<a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html" title="class in org.apache.hadoop.hbase.executor">EventHandler</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#eventType">eventType</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#seqids">seqids</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#server">server</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#waitingTimeForEvents">waitingTimeForEvents</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#EnabledTableSnapshotHandler-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.master.MasterServices-org.apache.hadoop.hbase.master.snapshot.SnapshotManager-">EnabledTableSnapshotHandler</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshot,
<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master,
<a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;manager)</code>&nbsp;</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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#downgradeToSharedTableLock--">downgradeToSharedTableLock</a></span>()</code>
<div class="block">When taking snapshot, first we must acquire the exclusive table lock to confirm that there are
no ongoing merge/split procedures.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">EnabledTableSnapshotHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#prepare--">prepare</a></span>()</code>
<div class="block">Event handlers should do all the necessary checks in this method (rather than
in the constructor, or in process()) so that the caller, which is mostly executed
in the ipc context can fail fast.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#snapshotMobRegion-org.apache.hadoop.hbase.client.RegionInfo-">snapshotMobRegion</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)</code>
<div class="block">Takes a snapshot of the mob region</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#snapshotRegions-java.util.List-">snapshotRegions</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;regions)</code>
<div class="block">This method kicks off a snapshot procedure.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.master.snapshot.TakeSnapshotHandler">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.master.snapshot.<a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#cancel-java.lang.String-">cancel</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#getCompletionTimestamp--">getCompletionTimestamp</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#getException--">getException</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#getExceptionIfFailed--">getExceptionIfFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#getSnapshot--">getSnapshot</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#hasException--">hasException</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#isFinished--">isFinished</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#process--">process</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#rethrowException--">rethrowException</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#rethrowExceptionIfFailed--">rethrowExceptionIfFailed</a>, <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#snapshotDisabledRegion-org.apache.hadoop.hbase.client.RegionInfo-">snapshotDisabledRegion</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.executor.EventHandler">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.executor.<a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html" title="class in org.apache.hadoop.hbase.executor">EventHandler</a></h3>
<code><a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#compareTo-org.apache.hadoop.hbase.executor.EventHandler-">compareTo</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#getEventType--">getEventType</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#getInformativeName--">getInformativeName</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#getPriority--">getPriority</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#getSeqid--">getSeqid</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#handleException-java.lang.Throwable-">handleException</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#run--">run</a>, <a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#toString--">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</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="LOG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
<pre>private static final&nbsp;org.slf4j.Logger <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#line.49">LOG</a></pre>
</li>
</ul>
<a name="coordinator">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>coordinator</h4>
<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/procedure/ProcedureCoordinator.html" title="class in org.apache.hadoop.hbase.procedure">ProcedureCoordinator</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#line.50">coordinator</a></pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="EnabledTableSnapshotHandler-org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription-org.apache.hadoop.hbase.master.MasterServices-org.apache.hadoop.hbase.master.snapshot.SnapshotManager-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EnabledTableSnapshotHandler</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#line.52">EnabledTableSnapshotHandler</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.SnapshotProtos.SnapshotDescription&nbsp;snapshot,
<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master,
<a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a>&nbsp;manager)
throws <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>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<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></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="prepare--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepare</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">EnabledTableSnapshotHandler</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#line.59">prepare</a>()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/executor/EventHandler.html#prepare--">EventHandler</a></code></span></div>
<div class="block">Event handlers should do all the necessary checks in this method (rather than
in the constructor, or in process()) so that the caller, which is mostly executed
in the ipc context can fail fast. Process is executed async from the client ipc,
so this method gives a quick chance to do some basic checks.
Should be called after constructing the EventHandler, and before process().</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#prepare--">prepare</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the instance of this class</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - when something goes wrong</dd>
</dl>
</li>
</ul>
<a name="snapshotRegions-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>snapshotRegions</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#line.72">snapshotRegions</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>,<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&gt;&nbsp;regions)
throws <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">This method kicks off a snapshot procedure. Other than that it hangs around for various
phases to complete.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#snapshotRegions-java.util.List-">snapshotRegions</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<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></dd>
</dl>
</li>
</ul>
<a name="snapshotMobRegion-org.apache.hadoop.hbase.client.RegionInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>snapshotMobRegion</h4>
<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#line.128">snapshotMobRegion</a>(<a href="../../../../../../org/apache/hadoop/hbase/client/RegionInfo.html" title="interface in org.apache.hadoop.hbase.client">RegionInfo</a>&nbsp;regionInfo)
throws <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">Takes a snapshot of the mob region</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<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></dd>
</dl>
</li>
</ul>
<a name="downgradeToSharedTableLock--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>downgradeToSharedTableLock</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html#line.136">downgradeToSharedTableLock</a>()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#downgradeToSharedTableLock--">TakeSnapshotHandler</a></code></span></div>
<div class="block">When taking snapshot, first we must acquire the exclusive table lock to confirm that there are
no ongoing merge/split procedures. But later, we should try our best to release the exclusive
lock as this may hurt the availability, because we need to hold the shared lock when assigning
regions.
<p/>
See HBASE-21480 for more details.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html#downgradeToSharedTableLock--">downgradeToSharedTableLock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a></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/EnabledTableSnapshotHandler.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/master/snapshot/DisabledTableSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.html" title="class in org.apache.hadoop.hbase.master.snapshot"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.html" target="_top">Frames</a></li>
<li><a href="EnabledTableSnapshotHandler.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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; 2007&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>