http://git-wip-us.apache.org/repos/asf/hbase-site/blob/45a663dd/devapidocs/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html
----------------------------------------------------------------------
diff --git
a/devapidocs/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html
b/devapidocs/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html
index 79158cf..1102aac 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html
@@ -111,7 +111,7 @@
<br>
<pre><a
href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html"
title="annotation in
org.apache.hadoop.hbase.classification">@InterfaceAudience.LimitedPrivate</a>(<a
href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html#value()">value</a>="Configuration")
<a
href="../../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Unstable.html"
title="annotation in
org.apache.hadoop.hbase.classification">@InterfaceStability.Unstable</a>
-public class <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.100">SnapshotManager</a>
+public class <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.105">SnapshotManager</a>
extends <a
href="../../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManager.html"
title="class in org.apache.hadoop.hbase.procedure">MasterProcedureManager</a>
implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html"
title="interface in org.apache.hadoop.hbase">Stoppable</a></pre>
<div class="block">This class manages the procedure of taking and restoring
snapshots. There is only one
@@ -158,40 +158,49 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#isSnapshotSupported">isSnapshotSupported</a></strong></code> </td>
</tr>
<tr class="altColor">
+<td class="colFirst"><code>private <a
href="../../../../../../org/apache/hadoop/hbase/util/KeyLocker.html"
title="class in org.apache.hadoop.hbase.util">KeyLocker</a><<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a>></code></td>
+<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#locks">locks</a></strong></code>
+<div class="block">Locks for snapshot operations
+ key is snapshot's filename in progress, value is the related lock
+ - create snapshot
+ - SnapshotCleaner</div>
+</td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>private static
org.apache.commons.logging.Log</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#LOG">LOG</a></strong></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a
href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html"
title="interface in
org.apache.hadoop.hbase.master">MasterServices</a></code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#master">master</a></strong></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#ONLINE_SNAPSHOT_CONTROLLER_DESCRIPTION">ONLINE_SNAPSHOT_CONTROLLER_DESCRIPTION</a></strong></code>
<div class="block">Name of the operation to use in the controller</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true"
title="class or interface in java.lang">Long</a>></code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#restoreTableToProcIdMap">restoreTableToProcIdMap</a></strong></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#rootDir">rootDir</a></strong></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#SNAPSHOT_POOL_THREADS_DEFAULT">SNAPSHOT_POOL_THREADS_DEFAULT</a></strong></code>
<div class="block">number of current operations running on the master</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private static <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#SNAPSHOT_POOL_THREADS_KEY">SNAPSHOT_POOL_THREADS_KEY</a></strong></code>
<div class="block">Conf key for # of threads used by the SnapshotManager
thread pool</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#SNAPSHOT_SENTINELS_CLEANUP_TIMEOUT">SNAPSHOT_SENTINELS_CLEANUP_TIMEOUT</a></strong></code>
<div class="block">Wait time before removing a finished sentinel from the
in-progress map
@@ -199,24 +208,24 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
NOTE: This is used as a safety auto cleanup.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#SNAPSHOT_WAKE_MILLIS_DEFAULT">SNAPSHOT_WAKE_MILLIS_DEFAULT</a></strong></code>
<div class="block">By default, check to see if the snapshot is complete every
WAKE MILLIS (ms)</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private static <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#SNAPSHOT_WAKE_MILLIS_KEY">SNAPSHOT_WAKE_MILLIS_KEY</a></strong></code>
<div class="block">Conf key for # of ms elapsed between checks for snapshot
errors while waiting for
completion.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a>></code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#snapshotHandlers">snapshotHandlers</a></strong></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#stopped">stopped</a></strong></code> </td>
</tr>
@@ -342,80 +351,84 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#getCoordinator()">getCoordinator</a></strong>()</code> </td>
</tr>
<tr class="altColor">
+<td class="colFirst"><code><a
href="../../../../../../org/apache/hadoop/hbase/util/KeyLocker.html"
title="class in org.apache.hadoop.hbase.util">KeyLocker</a><<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a>></code></td>
+<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#getLocks()">getLocks</a></strong>()</code> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code><a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#getProcedureSignature()">getProcedureSignature</a></strong>()</code>
<div class="block">Return the unique signature of the procedure.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#initialize(org.apache.hadoop.hbase.master.MasterServices,%20org.apache.hadoop.hbase.master.MetricsMaster)">initialize</a></strong>(<a
href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html"
title="interface in
org.apache.hadoop.hbase.master">MasterServices</a> master,
<a
href="../../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html"
title="class in
org.apache.hadoop.hbase.master">MetricsMaster</a> metricsMaster)</code>
<div class="block">Initialize a globally barriered procedure for master.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#isProcedureDone(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription)">isProcedureDone</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription desc)</code>
<div class="block">Check if the procedure is finished successfully</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#isRestoringTable(org.apache.hadoop.hbase.TableName)">isRestoringTable</a></strong>(<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class
in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Verify if the restore of the specified table is in
progress.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#isSnapshotCompleted(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">isSnapshotCompleted</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</code>
<div class="block">Check to see if the snapshot is one of the currently
completed snapshots
Returns true if the snapshot exists in the "completed snapshots folder".</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#isSnapshotDone(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">isSnapshotDone</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription expected)</code>
<div class="block">Check if the specified snapshot is done</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#isStopped()">isStopped</a></strong>()</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#isTakingSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">isTakingSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</code>
<div class="block">Check to see if there is a snapshot in progress with the
same name or on the same table.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) boolean</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#isTakingSnapshot(org.apache.hadoop.hbase.TableName)">isTakingSnapshot</a></strong>(<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class
in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Check to see if the specified table has a snapshot in
progress.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#prepareToTakeSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">prepareToTakeSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</code>
<div class="block">Check to make sure that we are OK to run the passed
snapshot.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a></code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#removeSentinelIfFinished(java.util.Map,%20org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">removeSentinelIfFinished</a></strong>(<a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a>> sentinels,
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</code>
<div class="block">Return the handler if it is currently live and has the same
snapshot target name.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#resetTempDir()">resetTempDir</a></strong>()</code>
<div class="block">Cleans up any snapshots in the snapshot/.tmp directory that
were left from failed
snapshot attempts.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#restoreOrCloneSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription,%20long,%20long)">restoreOrCloneSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription reqSnapshot,
long nonceGroup,
@@ -423,7 +436,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<div class="block">Restore or Clone the specified snapshot</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#restoreSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription,%20org.apache.hadoop.hbase.HTableDescriptor,%20long,%20long)">restoreSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
title="class in
org.apache.hadoop.hbase">HTableDescriptor</a> hTableDescriptor,
@@ -432,7 +445,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<div class="block">Restore the specified snapshot.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#restoreSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription,%20org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription,%20org.apache.hadoop.hbase.HTableDescriptor,%20long,%20long)">restoreSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription reqSnapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a> tableName,
@@ -443,45 +456,45 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<div class="block">Restore the specified snapshot.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#setSnapshotHandlerForTesting(org.apache.hadoop.hbase.TableName,%20org.apache.hadoop.hbase.master.SnapshotSentinel)">setSnapshotHandlerForTesting</a></strong>(<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class
in org.apache.hadoop.hbase">TableName</a> tableName,
<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a> handler)</code>
<div class="block">Set the handler for the current snapshot</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#snapshotDisabledTable(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">snapshotDisabledTable</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</code>
<div class="block">Take a snapshot of a disabled table.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#snapshotEnabledTable(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">snapshotEnabledTable</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</code>
<div class="block">Take a snapshot of an enabled table.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#snapshotTable(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription,%20org.apache.hadoop.hbase.master.snapshot.TakeSnapshotHandler)">snapshotTable</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html"
title="class in
org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a> handler)</code>
<div class="block">Take a snapshot using the specified handler.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#stop(java.lang.String)">stop</a></strong>(<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> why)</code>
<div class="block">Stop this service.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#takeSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">takeSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</code>
<div class="block">Take a snapshot based on the enabled/disabled state of the
table.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription</code></td>
<td class="colLast"><code><strong><a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#toSnapshotDescription(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription)">toSnapshotDescription</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription desc)</code> </td>
</tr>
@@ -527,7 +540,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>LOG</h4>
-<pre>private static final org.apache.commons.logging.Log <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.101">LOG</a></pre>
+<pre>private static final org.apache.commons.logging.Log <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.106">LOG</a></pre>
</li>
</ul>
<a name="SNAPSHOT_WAKE_MILLIS_DEFAULT">
@@ -536,7 +549,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>SNAPSHOT_WAKE_MILLIS_DEFAULT</h4>
-<pre>private static final int <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.104">SNAPSHOT_WAKE_MILLIS_DEFAULT</a></pre>
+<pre>private static final int <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.109">SNAPSHOT_WAKE_MILLIS_DEFAULT</a></pre>
<div class="block">By default, check to see if the snapshot is complete every
WAKE MILLIS (ms)</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a
href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.snapshot.SnapshotManager.SNAPSHOT_WAKE_MILLIS_DEFAULT">Constant
Field Values</a></dd></dl>
</li>
@@ -547,7 +560,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>SNAPSHOT_SENTINELS_CLEANUP_TIMEOUT</h4>
-<pre>private static final int <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.117">SNAPSHOT_SENTINELS_CLEANUP_TIMEOUT</a></pre>
+<pre>private static final int <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.122">SNAPSHOT_SENTINELS_CLEANUP_TIMEOUT</a></pre>
<div class="block">Wait time before removing a finished sentinel from the
in-progress map
NOTE: This is used as a safety auto cleanup.
@@ -566,7 +579,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>HBASE_SNAPSHOT_ENABLED</h4>
-<pre>public static final <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.120">HBASE_SNAPSHOT_ENABLED</a></pre>
+<pre>public static final <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.125">HBASE_SNAPSHOT_ENABLED</a></pre>
<div class="block">Enable or disable snapshot support</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a
href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.snapshot.SnapshotManager.HBASE_SNAPSHOT_ENABLED">Constant
Field Values</a></dd></dl>
</li>
@@ -577,7 +590,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>SNAPSHOT_WAKE_MILLIS_KEY</h4>
-<pre>private static final <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.126">SNAPSHOT_WAKE_MILLIS_KEY</a></pre>
+<pre>private static final <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.131">SNAPSHOT_WAKE_MILLIS_KEY</a></pre>
<div class="block">Conf key for # of ms elapsed between checks for snapshot
errors while waiting for
completion.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a
href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.snapshot.SnapshotManager.SNAPSHOT_WAKE_MILLIS_KEY">Constant
Field Values</a></dd></dl>
@@ -589,7 +602,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>ONLINE_SNAPSHOT_CONTROLLER_DESCRIPTION</h4>
-<pre>public static final <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.129">ONLINE_SNAPSHOT_CONTROLLER_DESCRIPTION</a></pre>
+<pre>public static final <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.134">ONLINE_SNAPSHOT_CONTROLLER_DESCRIPTION</a></pre>
<div class="block">Name of the operation to use in the controller</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a
href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.snapshot.SnapshotManager.ONLINE_SNAPSHOT_CONTROLLER_DESCRIPTION">Constant
Field Values</a></dd></dl>
</li>
@@ -600,7 +613,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>SNAPSHOT_POOL_THREADS_KEY</h4>
-<pre>private static final <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.132">SNAPSHOT_POOL_THREADS_KEY</a></pre>
+<pre>private static final <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.137">SNAPSHOT_POOL_THREADS_KEY</a></pre>
<div class="block">Conf key for # of threads used by the SnapshotManager
thread pool</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a
href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.snapshot.SnapshotManager.SNAPSHOT_POOL_THREADS_KEY">Constant
Field Values</a></dd></dl>
</li>
@@ -611,7 +624,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>SNAPSHOT_POOL_THREADS_DEFAULT</h4>
-<pre>private static final int <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.135">SNAPSHOT_POOL_THREADS_DEFAULT</a></pre>
+<pre>private static final int <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.140">SNAPSHOT_POOL_THREADS_DEFAULT</a></pre>
<div class="block">number of current operations running on the master</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a
href="../../../../../../constant-values.html#org.apache.hadoop.hbase.master.snapshot.SnapshotManager.SNAPSHOT_POOL_THREADS_DEFAULT">Constant
Field Values</a></dd></dl>
</li>
@@ -622,7 +635,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>stopped</h4>
-<pre>private boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.137">stopped</a></pre>
+<pre>private boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.142">stopped</a></pre>
</li>
</ul>
<a name="master">
@@ -631,7 +644,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>master</h4>
-<pre>private <a
href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html"
title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.138">master</a></pre>
+<pre>private <a
href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html"
title="interface in org.apache.hadoop.hbase.master">MasterServices</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.143">master</a></pre>
</li>
</ul>
<a name="coordinator">
@@ -640,7 +653,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>coordinator</h4>
-<pre>private <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/SnapshotManager.html#line.139">coordinator</a></pre>
+<pre>private <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/SnapshotManager.html#line.144">coordinator</a></pre>
</li>
</ul>
<a name="isSnapshotSupported">
@@ -649,7 +662,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>isSnapshotSupported</h4>
-<pre>private boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.142">isSnapshotSupported</a></pre>
+<pre>private boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.147">isSnapshotSupported</a></pre>
</li>
</ul>
<a name="snapshotHandlers">
@@ -658,7 +671,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>snapshotHandlers</h4>
-<pre>private <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in org.apache.hadoop.hbase.master">SnapshotSentinel</a>> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.148">snapshotHandlers</a></pre>
+<pre>private <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in org.apache.hadoop.hbase.master">SnapshotSentinel</a>> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.153">snapshotHandlers</a></pre>
</li>
</ul>
<a name="restoreTableToProcIdMap">
@@ -667,7 +680,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>restoreTableToProcIdMap</h4>
-<pre>private <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true"
title="class or interface in java.lang">Long</a>> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.158">restoreTableToProcIdMap</a></pre>
+<pre>private <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html?is-external=true"
title="class or interface in java.lang">Long</a>> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.163">restoreTableToProcIdMap</a></pre>
</li>
</ul>
<a name="rootDir">
@@ -676,16 +689,29 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>rootDir</h4>
-<pre>private org.apache.hadoop.fs.Path <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.160">rootDir</a></pre>
+<pre>private org.apache.hadoop.fs.Path <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.165">rootDir</a></pre>
</li>
</ul>
<a name="executorService">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>executorService</h4>
-<pre>private <a
href="../../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html"
title="class in org.apache.hadoop.hbase.executor">ExecutorService</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.161">executorService</a></pre>
+<pre>private <a
href="../../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html"
title="class in org.apache.hadoop.hbase.executor">ExecutorService</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.166">executorService</a></pre>
+</li>
+</ul>
+<a name="locks">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>locks</h4>
+<pre>private <a
href="../../../../../../org/apache/hadoop/hbase/util/KeyLocker.html"
title="class in org.apache.hadoop.hbase.util">KeyLocker</a><<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a>> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.174">locks</a></pre>
+<div class="block">Locks for snapshot operations
+ key is snapshot's filename in progress, value is the related lock
+ - create snapshot
+ - SnapshotCleaner</div>
</li>
</ul>
</li>
@@ -702,7 +728,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>SnapshotManager</h4>
-<pre>public <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.163">SnapshotManager</a>()</pre>
+<pre>public <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.178">SnapshotManager</a>()</pre>
</li>
</ul>
<a name="SnapshotManager(org.apache.hadoop.hbase.master.MasterServices,
org.apache.hadoop.hbase.master.MetricsMaster,
org.apache.hadoop.hbase.procedure.ProcedureCoordinator,
org.apache.hadoop.hbase.executor.ExecutorService)">
@@ -711,7 +737,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockListLast">
<li class="blockList">
<h4>SnapshotManager</h4>
-<pre>public <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.171">SnapshotManager</a>(<a
href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html"
title="interface in
org.apache.hadoop.hbase.master">MasterServices</a> master,
+<pre>public <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.186">SnapshotManager</a>(<a
href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html"
title="interface in
org.apache.hadoop.hbase.master">MasterServices</a> master,
<a
href="../../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html"
title="class in
org.apache.hadoop.hbase.master">MetricsMaster</a> metricsMaster,
<a
href="../../../../../../org/apache/hadoop/hbase/procedure/ProcedureCoordinator.html"
title="class in
org.apache.hadoop.hbase.procedure">ProcedureCoordinator</a> coordinator,
<a
href="../../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html"
title="class in org.apache.hadoop.hbase.executor">ExecutorService</a> pool)
@@ -738,7 +764,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>getCompletedSnapshots</h4>
-<pre>public <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true"
title="class or interface in
java.util">List</a><org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.189">getCompletedSnapshots</a>()
+<pre>public <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true"
title="class or interface in
java.util">List</a><org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.204">getCompletedSnapshots</a>()
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<div class="block">Gets the list of all completed snapshots.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>list of
SnapshotDescriptions</dd>
@@ -752,7 +778,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>getCompletedSnapshots</h4>
-<pre>private <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true"
title="class or interface in
java.util">List</a><org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.199">getCompletedSnapshots</a>(org.apache.hadoop.fs.Path snapshotDir)
+<pre>private <a
href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true"
title="class or interface in
java.util">List</a><org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.214">getCompletedSnapshots</a>(org.apache.hadoop.fs.Path snapshotDir)
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<div class="block">Gets the list of all completed snapshots.</div>
<dl><dt><span
class="strong">Parameters:</span></dt><dd><code>snapshotDir</code> - snapshot
directory</dd>
@@ -767,7 +793,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>resetTempDir</h4>
-<pre>void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.259">resetTempDir</a>()
+<pre>void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.274">resetTempDir</a>()
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<div class="block">Cleans up any snapshots in the snapshot/.tmp directory that
were left from failed
snapshot attempts.</div>
@@ -781,7 +807,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>deleteSnapshot</h4>
-<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.275">deleteSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
+<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.290">deleteSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
throws <a
href="../../../../../../org/apache/hadoop/hbase/snapshot/SnapshotDoesNotExistException.html"
title="class in
org.apache.hadoop.hbase.snapshot">SnapshotDoesNotExistException</a>,
<a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<div class="block">Delete the specified snapshot</div>
@@ -797,7 +823,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>isSnapshotDone</h4>
-<pre>public boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.316">isSnapshotDone</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription expected)
+<pre>public boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.331">isSnapshotDone</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription expected)
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<div class="block">Check if the specified snapshot is done</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>expected</code>
- </dd>
@@ -813,7 +839,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>isTakingSnapshot</h4>
-<pre>boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.381">isTakingSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</pre>
+<pre>boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.396">isTakingSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</pre>
<div class="block">Check to see if there is a snapshot in progress with the
same name or on the same table.
Currently we have a limitation only allowing a single snapshot per table at a
time. Also we
don't allow snapshot with the same name.</div>
@@ -828,7 +854,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>isTakingSnapshot</h4>
-<pre>boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.403">isTakingSnapshot</a>(<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class
in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
+<pre>boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.418">isTakingSnapshot</a>(<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class
in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
<div class="block">Check to see if the specified table has a snapshot in
progress. Currently we have a
limitation only allowing a single snapshot per table at a time.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tableName</code>
- name of the table being snapshotted.</dd>
@@ -841,7 +867,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>prepareToTakeSnapshot</h4>
-<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.414">prepareToTakeSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
+<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.429">prepareToTakeSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
throws <a
href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html"
title="class in
org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></pre>
<div class="block">Check to make sure that we are OK to run the passed
snapshot. Checks to make sure that we
aren't already running a snapshot or restore on the requested table.</div>
@@ -856,7 +882,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>snapshotDisabledTable</h4>
-<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.464">snapshotDisabledTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
+<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.479">snapshotDisabledTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
throws <a
href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html"
title="class in
org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></pre>
<div class="block">Take a snapshot of a disabled table.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>snapshot</code>
- description of the snapshot to take. Modified to be
<code>HBaseProtos.SnapshotDescription.Type.DISABLED</code>.</dd>
@@ -870,7 +896,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>snapshotEnabledTable</h4>
-<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.483">snapshotEnabledTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
+<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.498">snapshotEnabledTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
throws <a
href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html"
title="class in
org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></pre>
<div class="block">Take a snapshot of an enabled table.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>snapshot</code>
- description of the snapshot to take.</dd>
@@ -884,7 +910,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>snapshotTable</h4>
-<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.502">snapshotTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
+<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.517">snapshotTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html"
title="class in
org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a> handler)
throws <a
href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html"
title="class in
org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></pre>
<div class="block">Take a snapshot using the specified handler.
@@ -902,7 +928,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>takeSnapshot</h4>
-<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.533">takeSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
+<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.548">takeSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<div class="block">Take a snapshot based on the enabled/disabled state of the
table.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>snapshot</code>
- </dd>
@@ -917,7 +943,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>setSnapshotHandlerForTesting</h4>
-<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.620">setSnapshotHandlerForTesting</a>(<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class
in org.apache.hadoop.hbase">TableName</a> tableName,
+<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.635">setSnapshotHandlerForTesting</a>(<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class
in org.apache.hadoop.hbase">TableName</a> tableName,
<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a> handler)</pre>
<div class="block">Set the handler for the current snapshot
<p>
@@ -933,7 +959,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>getCoordinator</h4>
-<pre><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/SnapshotManager.html#line.633">getCoordinator</a>()</pre>
+<pre><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/SnapshotManager.html#line.648">getCoordinator</a>()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>distributed commit
coordinator for all running snapshots</dd></dl>
</li>
</ul>
@@ -943,7 +969,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>isSnapshotCompleted</h4>
-<pre>private boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.647">isSnapshotCompleted</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
+<pre>private boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.662">isSnapshotCompleted</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<div class="block">Check to see if the snapshot is one of the currently
completed snapshots
Returns true if the snapshot exists in the "completed snapshots folder".</div>
@@ -961,7 +987,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>cloneSnapshot</h4>
-<pre>private long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.671">cloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription reqSnapshot,
+<pre>private long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.686">cloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription reqSnapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a> tableName,
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
title="class in
org.apache.hadoop.hbase">HTableDescriptor</a> snapshotTableDesc,
@@ -982,7 +1008,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>cloneSnapshot</h4>
-<pre>long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.709">cloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
+<pre>long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.724">cloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
title="class in
org.apache.hadoop.hbase">HTableDescriptor</a> hTableDescriptor,
long nonceGroup,
long nonce)
@@ -1001,7 +1027,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>restoreOrCloneSnapshot</h4>
-<pre>public long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.749">restoreOrCloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription reqSnapshot,
+<pre>public long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.764">restoreOrCloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription reqSnapshot,
long nonceGroup,
long nonce)
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
@@ -1017,7 +1043,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>restoreSnapshot</h4>
-<pre>private long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.803">restoreSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription reqSnapshot,
+<pre>private long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.818">restoreSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription reqSnapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a> tableName,
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
title="class in
org.apache.hadoop.hbase">HTableDescriptor</a> snapshotTableDesc,
@@ -1038,7 +1064,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>restoreSnapshot</h4>
-<pre>private long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.851">restoreSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
+<pre>private long <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.866">restoreSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot,
<a
href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html"
title="class in
org.apache.hadoop.hbase">HTableDescriptor</a> hTableDescriptor,
long nonceGroup,
long nonce)
@@ -1057,7 +1083,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>isRestoringTable</h4>
-<pre>private boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.891">isRestoringTable</a>(<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class
in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
+<pre>private boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.906">isRestoringTable</a>(<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class
in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
<div class="block">Verify if the restore of the specified table is in
progress.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>tableName</code>
- table under restore</dd>
<dt><span class="strong">Returns:</span></dt><dd><tt>true</tt> if there is a
restore in progress of the specified table.</dd></dl>
@@ -1069,7 +1095,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>removeSentinelIfFinished</h4>
-<pre>private <a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.913">removeSentinelIfFinished</a>(<a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a>> sentinels,
+<pre>private <a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.928">removeSentinelIfFinished</a>(<a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a>> sentinels,
org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription snapshot)</pre>
<div class="block">Return the handler if it is currently live and has the same
snapshot target name.
The handler is removed from the sentinels map if completed.</div>
@@ -1083,7 +1109,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>cleanupSentinels</h4>
-<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.946">cleanupSentinels</a>()</pre>
+<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.961">cleanupSentinels</a>()</pre>
<div class="block">Removes "abandoned" snapshot/restore requests.
As part of the HBaseAdmin snapshot/restore API the operation status is
checked until completed,
and the in-progress maps are cleaned up when the status of a completed task
is requested.
@@ -1097,7 +1123,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>cleanupSentinels</h4>
-<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.956">cleanupSentinels</a>(<a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a>> sentinels)</pre>
+<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.971">cleanupSentinels</a>(<a
href="http://docs.oracle.com/javase/7/docs/api/java/util/Map.html?is-external=true"
title="class or interface in java.util">Map</a><<a
href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in
org.apache.hadoop.hbase">TableName</a>,<a
href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html"
title="interface in
org.apache.hadoop.hbase.master">SnapshotSentinel</a>> sentinels)</pre>
<div class="block">Remove the sentinels that are marked as finished and the
completion time
has exceeded the removal timeout.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sentinels</code>
- map of sentinels to clean</dd></dl>
@@ -1109,7 +1135,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>cleanupCompletedRestoreInMap</h4>
-<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.974">cleanupCompletedRestoreInMap</a>()</pre>
+<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.989">cleanupCompletedRestoreInMap</a>()</pre>
<div class="block">Remove the procedures that are marked as finished</div>
</li>
</ul>
@@ -1119,7 +1145,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
-<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.991">stop</a>(<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> why)</pre>
+<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1006">stop</a>(<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> why)</pre>
<div class="block"><strong>Description copied from interface: <code><a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html#stop(java.lang.String)">Stoppable</a></code></strong></div>
<div class="block">Stop this service.
Implementers should favor logging errors over throwing
RuntimeExceptions.</div>
@@ -1135,7 +1161,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>isStopped</h4>
-<pre>public boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1011">isStopped</a>()</pre>
+<pre>public boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1026">isStopped</a>()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped()">isStopped</a></code> in
interface <code><a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html"
title="interface in org.apache.hadoop.hbase">Stoppable</a></code></dd>
@@ -1148,7 +1174,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>checkSnapshotSupport</h4>
-<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1020">checkSnapshotSupport</a>()
+<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1035">checkSnapshotSupport</a>()
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/UnsupportedOperationException.html?is-external=true"
title="class or interface in java.lang">UnsupportedOperationException</a></pre>
<div class="block">Throws an exception if snapshot operations (take a
snapshot, restore, clone) are not supported.
Called at the beginning of snapshot() and restoreSnapshot() methods.</div>
@@ -1162,7 +1188,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>checkSnapshotSupport</h4>
-<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1038">checkSnapshotSupport</a>(org.apache.hadoop.conf.Configuration conf,
+<pre>private void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1053">checkSnapshotSupport</a>(org.apache.hadoop.conf.Configuration conf,
<a
href="../../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html"
title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a> mfs)
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a>,
<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/UnsupportedOperationException.html?is-external=true"
title="class or interface in java.lang">UnsupportedOperationException</a></pre>
@@ -1182,7 +1208,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
-<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1110">initialize</a>(<a
href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html"
title="interface in
org.apache.hadoop.hbase.master">MasterServices</a> master,
+<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1125">initialize</a>(<a
href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html"
title="interface in
org.apache.hadoop.hbase.master">MasterServices</a> master,
<a
href="../../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html"
title="class in
org.apache.hadoop.hbase.master">MetricsMaster</a> metricsMaster)
throws org.apache.zookeeper.KeeperException,
<a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a>,
@@ -1205,7 +1231,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>getProcedureSignature</h4>
-<pre>public <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1138">getProcedureSignature</a>()</pre>
+<pre>public <a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1153">getProcedureSignature</a>()</pre>
<div class="block"><strong>Description copied from class: <code><a
href="../../../../../../org/apache/hadoop/hbase/procedure/ProcedureManager.html#getProcedureSignature()">ProcedureManager</a></code></strong></div>
<div class="block">Return the unique signature of the procedure. This
signature uniquely
identifies the procedure. By default, this signature is the string used in
@@ -1222,7 +1248,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>execProcedure</h4>
-<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1143">execProcedure</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription desc)
+<pre>public void <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1158">execProcedure</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription desc)
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<div class="block"><strong>Description copied from class: <code><a
href="../../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManager.html#execProcedure(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription)">MasterProcedureManager</a></code></strong></div>
<div class="block">Execute a distributed procedure on cluster</div>
@@ -1240,7 +1266,7 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<ul class="blockList">
<li class="blockList">
<h4>isProcedureDone</h4>
-<pre>public boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1148">isProcedureDone</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription desc)
+<pre>public boolean <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1163">isProcedureDone</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription desc)
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<div class="block"><strong>Description copied from class: <code><a
href="../../../../../../org/apache/hadoop/hbase/procedure/MasterProcedureManager.html#isProcedureDone(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription)">MasterProcedureManager</a></code></strong></div>
<div class="block">Check if the procedure is finished successfully</div>
@@ -1256,15 +1282,24 @@ implements <a
href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
<a
name="toSnapshotDescription(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription)">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>toSnapshotDescription</h4>
-<pre>private org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1152">toSnapshotDescription</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription desc)
+<pre>private org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1167">toSnapshotDescription</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription desc)
throws <a
href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true"
title="class or interface in java.io">IOException</a></pre>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a
href="http://docs.oracle.com/javase/7/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="getLocks()">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>getLocks</h4>
+<pre>public <a
href="../../../../../../org/apache/hadoop/hbase/util/KeyLocker.html"
title="class in org.apache.hadoop.hbase.util">KeyLocker</a><<a
href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true"
title="class or interface in java.lang">String</a>> <a
href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1191">getLocks</a>()</pre>
+</li>
+</ul>
</li>
</ul>
</li>