hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mi...@apache.org
Subject [12/51] [partial] hbase-site git commit: Published site at 25419d8b18dd8f35a102614cd31b274659f747ef.
Date Fri, 01 Apr 2016 15:16:56 GMT
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/ce2de59a/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 a44e15c..bcae047 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.97">SnapshotManager</a>
+public class <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.100">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
@@ -172,8 +172,8 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 </td>
 </tr>
 <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>&lt;<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>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#restoreHandlers">restoreHandlers</a></strong></code>&nbsp;</td>
+<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>&lt;<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>&gt;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#restoreTableToProcIdMap">restoreTableToProcIdMap</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
@@ -261,16 +261,6 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <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#checkAndUpdateNamespaceQuota(org.apache.hadoop.hbase.snapshot.SnapshotManifest,%20org.apache.hadoop.hbase.TableName)">checkAndUpdateNamespaceQuota</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/snapshot/SnapshotManifest.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotManifest</a>&nbsp;manifest,
-                                                        <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
-</tr>
-<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#checkAndUpdateNamespaceRegionQuota(int,%20org.apache.hadoop.hbase.TableName)">checkAndUpdateNamespaceRegionQuota</a></strong>(int&nbsp;updatedRegionCount,
-                                                                    <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
-</tr>
-<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#checkSnapshotSupport()">checkSnapshotSupport</a></strong>()</code>
 <div class="block">Throws an exception if snapshot operations (take a snapshot, restore, clone) are not supported.</div>
@@ -286,24 +276,43 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 </tr>
 <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#cleanupCompletedRestoreInMap()">cleanupCompletedRestoreInMap</a></strong>()</code>
+<div class="block">Remove the procedures that are marked as finished</div>
+</td>
+</tr>
+<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#cleanupSentinels()">cleanupSentinels</a></strong>()</code>
 <div class="block">Removes "abandoned" snapshot/restore requests.</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#cleanupSentinels(java.util.Map)">cleanupSentinels</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>&lt;<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>&gt;&nbsp;sentinels)</code>
 <div class="block">Remove the sentinels that are marked as finished and the completion time
  has exceeded the removal timeout.</div>
 </td>
 </tr>
-<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#cloneSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription,%20org.apache.hadoop.hbase.HTableDescriptor)">cloneSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
-                          <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor)</code>
+<tr class="rowColor">
+<td class="colFirst"><code>(package private) long</code></td>
+<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#cloneSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription,%20org.apache.hadoop.hbase.HTableDescriptor,%20long,%20long)">cloneSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
+                          <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor,
+                          long&nbsp;nonceGroup,
+                          long&nbsp;nonce)</code>
 <div class="block">Clone the specified snapshot into a new table.</div>
 </td>
 </tr>
+<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#cloneSnapshot(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)">cloneSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;reqSnapshot,
+                          <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                          org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
+                          <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;snapshotTableDesc,
+                          long&nbsp;nonceGroup,
+                          long&nbsp;nonce)</code>
+<div class="block">Clone the specified snapshot.</div>
+</td>
+</tr>
 <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#deleteSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">deleteSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)</code>
@@ -339,28 +348,18 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#getRegionCountOfTable(org.apache.hadoop.hbase.TableName)">getRegionCountOfTable</a></strong>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>&nbsp;</td>
-</tr>
-<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>&nbsp;master,
                     <a href="../../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a>&nbsp;metricsMaster)</code>
 <div class="block">Initialize a globally barriered procedure for master.</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#isProcedureDone(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription)">isProcedureDone</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription&nbsp;desc)</code>
 <div class="block">Check if the procedure is finished successfully</div>
 </td>
 </tr>
-<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#isRestoreDone(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">isRestoreDone</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)</code>
-<div class="block">Returns the status of a restore operation.</div>
-</td>
-</tr>
 <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#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>&nbsp;tableName)</code>
@@ -417,57 +416,72 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 </td>
 </tr>
 <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#restoreSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">restoreSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;reqSnapshot)</code>
-<div class="block">Restore the specified snapshot</div>
+<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&nbsp;reqSnapshot,
+                                            long&nbsp;nonceGroup,
+                                            long&nbsp;nonce)</code>
+<div class="block">Restore or Clone the specified snapshot</div>
 </td>
 </tr>
 <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#restoreSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription,%20org.apache.hadoop.hbase.HTableDescriptor)">restoreSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
-                              <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor)</code>
+<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&nbsp;snapshot,
+                              <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor,
+                              long&nbsp;nonceGroup,
+                              long&nbsp;nonce)</code>
 <div class="block">Restore the specified snapshot.</div>
 </td>
 </tr>
 <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.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&nbsp;reqSnapshot,
+                              <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                              org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
+                              <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;snapshotTableDesc,
+                              long&nbsp;nonceGroup,
+                              long&nbsp;nonce)</code>
+<div class="block">Restore the specified snapshot.</div>
+</td>
+</tr>
+<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#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>&nbsp;tableName,
                                                         <a href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html" title="interface in org.apache.hadoop.hbase.master">SnapshotSentinel</a>&nbsp;handler)</code>
 <div class="block">Set the handler for the current snapshot</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#snapshotDisabledTable(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">snapshotDisabledTable</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)</code>
 <div class="block">Take a snapshot of a disabled 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#snapshotEnabledTable(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">snapshotEnabledTable</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)</code>
 <div class="block">Take a snapshot of an enabled 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#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&nbsp;snapshot,
                           <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a>&nbsp;handler)</code>
 <div class="block">Take a snapshot using the specified handler.</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#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>&nbsp;why)</code>
 <div class="block">Stop this service.</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#takeSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">takeSnapshot</a></strong>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)</code>
 <div class="block">Take a snapshot based on the enabled/disabled state of the table.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <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&nbsp;desc)</code>&nbsp;</td>
 </tr>
@@ -513,7 +527,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.98">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.101">LOG</a></pre>
 </li>
 </ul>
 <a name="SNAPSHOT_WAKE_MILLIS_DEFAULT">
@@ -522,7 +536,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&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.101">SNAPSHOT_WAKE_MILLIS_DEFAULT</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.104">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>
@@ -533,7 +547,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&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.114">SNAPSHOT_SENTINELS_CLEANUP_TIMEOUT</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.117">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.
@@ -552,7 +566,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&nbsp;<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.117">HBASE_SNAPSHOT_ENABLED</a></pre>
+<pre>public static final&nbsp;<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>
 <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>
@@ -563,7 +577,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&nbsp;<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.123">SNAPSHOT_WAKE_MILLIS_KEY</a></pre>
+<pre>private static final&nbsp;<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>
 <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>
@@ -575,7 +589,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&nbsp;<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">ONLINE_SNAPSHOT_CONTROLLER_DESCRIPTION</a></pre>
+<pre>public static final&nbsp;<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>
 <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>
@@ -586,7 +600,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&nbsp;<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">SNAPSHOT_POOL_THREADS_KEY</a></pre>
+<pre>private static final&nbsp;<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>
 <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>
@@ -597,7 +611,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&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.132">SNAPSHOT_POOL_THREADS_DEFAULT</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.135">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>
@@ -608,7 +622,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>stopped</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.134">stopped</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.137">stopped</a></pre>
 </li>
 </ul>
 <a name="master">
@@ -617,7 +631,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>master</h4>
-<pre>private&nbsp;<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.135">master</a></pre>
+<pre>private&nbsp;<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>
 </li>
 </ul>
 <a name="coordinator">
@@ -626,7 +640,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>coordinator</h4>
-<pre>private&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/SnapshotManager.html#line.136">coordinator</a></pre>
+<pre>private&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/SnapshotManager.html#line.139">coordinator</a></pre>
 </li>
 </ul>
 <a name="isSnapshotSupported">
@@ -635,7 +649,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isSnapshotSupported</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.139">isSnapshotSupported</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.142">isSnapshotSupported</a></pre>
 </li>
 </ul>
 <a name="snapshotHandlers">
@@ -644,16 +658,16 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotHandlers</h4>
-<pre>private&nbsp;<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>&lt;<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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.145">snapshotHandlers</a></pre>
+<pre>private&nbsp;<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>&lt;<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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.148">snapshotHandlers</a></pre>
 </li>
 </ul>
-<a name="restoreHandlers">
+<a name="restoreTableToProcIdMap">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>restoreHandlers</h4>
-<pre>private&nbsp;<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>&lt;<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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.152">restoreHandlers</a></pre>
+<h4>restoreTableToProcIdMap</h4>
+<pre>private&nbsp;<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>&lt;<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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.158">restoreTableToProcIdMap</a></pre>
 </li>
 </ul>
 <a name="rootDir">
@@ -662,7 +676,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>rootDir</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.155">rootDir</a></pre>
+<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.160">rootDir</a></pre>
 </li>
 </ul>
 <a name="executorService">
@@ -671,7 +685,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockListLast">
 <li class="blockList">
 <h4>executorService</h4>
-<pre>private&nbsp;<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.156">executorService</a></pre>
+<pre>private&nbsp;<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>
 </li>
 </ul>
 </li>
@@ -688,7 +702,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>SnapshotManager</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.158">SnapshotManager</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.163">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)">
@@ -697,7 +711,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SnapshotManager</h4>
-<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.166">SnapshotManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master,
+<pre>public&nbsp;<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>&nbsp;master,
                <a href="../../../../../../org/apache/hadoop/hbase/master/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a>&nbsp;metricsMaster,
                <a href="../../../../../../org/apache/hadoop/hbase/procedure/ProcedureCoordinator.html" title="class in org.apache.hadoop.hbase.procedure">ProcedureCoordinator</a>&nbsp;coordinator,
                <a href="../../../../../../org/apache/hadoop/hbase/executor/ExecutorService.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService</a>&nbsp;pool)
@@ -724,7 +738,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompletedSnapshots</h4>
-<pre>public&nbsp;<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>&lt;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.184">getCompletedSnapshots</a>()
+<pre>public&nbsp;<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>&lt;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.189">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>
@@ -738,7 +752,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getCompletedSnapshots</h4>
-<pre>private&nbsp;<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>&lt;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.194">getCompletedSnapshots</a>(org.apache.hadoop.fs.Path&nbsp;snapshotDir)
+<pre>private&nbsp;<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>&lt;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.199">getCompletedSnapshots</a>(org.apache.hadoop.fs.Path&nbsp;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>
@@ -753,7 +767,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>resetTempDir</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.254">resetTempDir</a>()
+<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.259">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>
@@ -767,7 +781,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>deleteSnapshot</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.270">deleteSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.275">deleteSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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>
@@ -783,7 +797,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isSnapshotDone</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.311">isSnapshotDone</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;expected)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.316">isSnapshotDone</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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>
@@ -799,7 +813,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isTakingSnapshot</h4>
-<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.376">isTakingSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)</pre>
+<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.381">isTakingSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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>
@@ -814,7 +828,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isTakingSnapshot</h4>
-<pre>boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.398">isTakingSnapshot</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>boolean&nbsp;<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>&nbsp;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>
@@ -827,7 +841,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>prepareToTakeSnapshot</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.409">prepareToTakeSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.414">prepareToTakeSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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>
@@ -842,7 +856,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotDisabledTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.459">snapshotDisabledTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.462">snapshotDisabledTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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>
@@ -856,7 +870,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotEnabledTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.478">snapshotEnabledTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.481">snapshotEnabledTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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>
@@ -870,7 +884,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>snapshotTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.497">snapshotTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.500">snapshotTable</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
                  <a href="../../../../../../org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.html" title="class in org.apache.hadoop.hbase.master.snapshot">TakeSnapshotHandler</a>&nbsp;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.
@@ -888,7 +902,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>takeSnapshot</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.527">takeSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.530">takeSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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>
@@ -903,7 +917,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>setSnapshotHandlerForTesting</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.611">setSnapshotHandlerForTesting</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.614">setSnapshotHandlerForTesting</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                                 <a href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html" title="interface in org.apache.hadoop.hbase.master">SnapshotSentinel</a>&nbsp;handler)</pre>
 <div class="block">Set the handler for the current snapshot
  <p>
@@ -919,7 +933,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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.624">getCoordinator</a>()</pre>
+<pre><a href="../../../../../../org/apache/hadoop/hbase/procedure/ProcedureCoordinator.html" title="class in org.apache.hadoop.hbase.procedure">ProcedureCoordinator</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.627">getCoordinator</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>distributed commit coordinator for all running snapshots</dd></dl>
 </li>
 </ul>
@@ -929,7 +943,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isSnapshotCompleted</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.638">isSnapshotCompleted</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.641">isSnapshotCompleted</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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>
@@ -941,87 +955,98 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if snapshot name is invalid.</dd></dl>
 </li>
 </ul>
-<a name="cloneSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription, org.apache.hadoop.hbase.HTableDescriptor)">
+<a name="cloneSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription, org.apache.hadoop.hbase.TableName, org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription, org.apache.hadoop.hbase.HTableDescriptor, long, long)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>cloneSnapshot</h4>
-<pre>void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.656">cloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
-                 <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor)
-             throws <a href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></pre>
-<div class="block">Clone the specified snapshot into a new table.
- The operation will fail if the destination table has a snapshot or restore in progress.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>snapshot</code> - Snapshot Descriptor</dd><dd><code>hTableDescriptor</code> - Table Descriptor of the table to create</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></code></dd></dl>
-</li>
-</ul>
-<a name="restoreSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>restoreSnapshot</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.688">restoreSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;reqSnapshot)
-                     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">Restore the specified snapshot</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>reqSnapshot</code> - </dd>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.665">cloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;reqSnapshot,
+                 <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                 org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
+                 <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;snapshotTableDesc,
+                 long&nbsp;nonceGroup,
+                 long&nbsp;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>
+<div class="block">Clone the specified snapshot.
+ The clone will fail if the destination table has a snapshot or restore in progress.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>reqSnapshot</code> - Snapshot Descriptor from request</dd><dd><code>tableName</code> - table to clone</dd><dd><code>snapshot</code> - Snapshot Descriptor</dd><dd><code>snapshotTableDesc</code> - Table Descriptor</dd><dd><code>nonceGroup</code> - unique value to prevent duplicated RPC</dd><dd><code>nonce</code> - unique value to prevent duplicated RPC</dd>
+<dt><span class="strong">Returns:</span></dt><dd>procId the ID of the clone snapshot procedure</dd>
 <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="checkAndUpdateNamespaceQuota(org.apache.hadoop.hbase.snapshot.SnapshotManifest, org.apache.hadoop.hbase.TableName)">
+<a name="cloneSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription, org.apache.hadoop.hbase.HTableDescriptor, long, long)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>checkAndUpdateNamespaceQuota</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.794">checkAndUpdateNamespaceQuota</a>(<a href="../../../../../../org/apache/hadoop/hbase/snapshot/SnapshotManifest.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotManifest</a>&nbsp;manifest,
-                                <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
-                                   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>
+<h4>cloneSnapshot</h4>
+<pre>long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.703">cloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
+                 <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor,
+                 long&nbsp;nonceGroup,
+                 long&nbsp;nonce)
+             throws <a href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></pre>
+<div class="block">Clone the specified snapshot into a new table.
+ The operation will fail if the destination table has a snapshot or restore in progress.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>snapshot</code> - Snapshot Descriptor</dd><dd><code>hTableDescriptor</code> - Table Descriptor of the table to create</dd><dd><code>nonceGroup</code> - unique value to prevent duplicated RPC</dd><dd><code>nonce</code> - unique value to prevent duplicated RPC</dd>
+<dt><span class="strong">Returns:</span></dt><dd>procId the ID of the clone snapshot procedure</dd>
+<dt><span class="strong">Throws:</span></dt>
+<dd><code><a href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></code></dd></dl>
 </li>
 </ul>
-<a name="checkAndUpdateNamespaceRegionQuota(int, org.apache.hadoop.hbase.TableName)">
+<a name="restoreOrCloneSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription, long, long)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>checkAndUpdateNamespaceRegionQuota</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.802">checkAndUpdateNamespaceRegionQuota</a>(int&nbsp;updatedRegionCount,
-                                      <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
-                                         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>
+<h4>restoreOrCloneSnapshot</h4>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.743">restoreOrCloneSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;reqSnapshot,
+                          long&nbsp;nonceGroup,
+                          long&nbsp;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>
+<div class="block">Restore or Clone the specified snapshot</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>reqSnapshot</code> - </dd><dd><code>nonceGroup</code> - unique value to prevent duplicated RPC</dd><dd><code>nonce</code> - unique value to prevent duplicated RPC</dd>
+<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="getRegionCountOfTable(org.apache.hadoop.hbase.TableName)">
+<a name="restoreSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription, org.apache.hadoop.hbase.TableName, org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription, org.apache.hadoop.hbase.HTableDescriptor, long, long)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getRegionCountOfTable</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.813">getRegionCountOfTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)
-                           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">Returns:</span></dt><dd>cached region count, or -1 if quota manager is disabled or table status not found</dd>
+<h4>restoreSnapshot</h4>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.796">restoreSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;reqSnapshot,
+                   <a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
+                   org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
+                   <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;snapshotTableDesc,
+                   long&nbsp;nonceGroup,
+                   long&nbsp;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>
+<div class="block">Restore the specified snapshot.
+ The restore will fail if the destination table has a snapshot or restore in progress.</div>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>reqSnapshot</code> - Snapshot Descriptor from request</dd><dd><code>tableName</code> - table to restore</dd><dd><code>snapshot</code> - Snapshot Descriptor</dd><dd><code>snapshotTableDesc</code> - Table Descriptor</dd><dd><code>nonceGroup</code> - unique value to prevent duplicated RPC</dd><dd><code>nonce</code> - unique value to prevent duplicated RPC</dd>
+<dt><span class="strong">Returns:</span></dt><dd>procId the ID of the restore snapshot procedure</dd>
 <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="restoreSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription, org.apache.hadoop.hbase.HTableDescriptor)">
+<a name="restoreSnapshot(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription, org.apache.hadoop.hbase.HTableDescriptor, long, long)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>restoreSnapshot</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.827">restoreSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
-                   <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor)
+<pre>private&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.844">restoreSnapshot</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;snapshot,
+                   <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;hTableDescriptor,
+                   long&nbsp;nonceGroup,
+                   long&nbsp;nonce)
                       throws <a href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></pre>
 <div class="block">Restore the specified snapshot.
  The restore will fail if the destination table has a snapshot or restore in progress.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>snapshot</code> - Snapshot Descriptor</dd><dd><code>hTableDescriptor</code> - Table Descriptor</dd>
+<dl><dt><span class="strong">Parameters:</span></dt><dd><code>snapshot</code> - Snapshot Descriptor</dd><dd><code>hTableDescriptor</code> - Table Descriptor</dd><dd><code>nonceGroup</code> - unique value to prevent duplicated RPC</dd><dd><code>nonce</code> - unique value to prevent duplicated RPC</dd>
+<dt><span class="strong">Returns:</span></dt><dd>procId the ID of the restore snapshot procedure</dd>
 <dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></code></dd></dl>
 </li>
@@ -1032,35 +1057,19 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isRestoringTable</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.861">isRestoringTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.884">isRestoringTable</a>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;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>
 </li>
 </ul>
-<a name="isRestoreDone(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isRestoreDone</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.874">isRestoreDone</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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">Returns the status of a restore operation.
- If the in-progress restore is failed throws the exception that caused the failure.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>snapshot</code> - </dd>
-<dt><span class="strong">Returns:</span></dt><dd>false if in progress, true if restore is completed or not requested.</dd>
-<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> - if there was a failure during the restore</dd></dl>
-</li>
-</ul>
 <a name="removeSentinelIfFinished(java.util.Map, org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>removeSentinelIfFinished</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html" title="interface in org.apache.hadoop.hbase.master">SnapshotSentinel</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.915">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>&lt;<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>&gt;&nbsp;sentinels,
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/SnapshotSentinel.html" title="interface in org.apache.hadoop.hbase.master">SnapshotSentinel</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.906">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>&lt;<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>&gt;&nbsp;sentinels,
                                         org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;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>
@@ -1074,7 +1083,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupSentinels</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.948">cleanupSentinels</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.939">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.
@@ -1088,19 +1097,29 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupSentinels</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.958">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>&lt;<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>&gt;&nbsp;sentinels)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.949">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>&lt;<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>&gt;&nbsp;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>
 </li>
 </ul>
+<a name="cleanupCompletedRestoreInMap()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cleanupCompletedRestoreInMap</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.967">cleanupCompletedRestoreInMap</a>()</pre>
+<div class="block">Remove the procedures that are marked as finished</div>
+</li>
+</ul>
 <a name="stop(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.978">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>&nbsp;why)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.984">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>&nbsp;why)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html#stop(java.lang.String)">Stoppable</a></code></strong></div>
 <div class="block">Stop this service.</div>
 <dl>
@@ -1115,7 +1134,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isStopped</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1002">isStopped</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1004">isStopped</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html#isStopped()">isStopped</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" title="interface in org.apache.hadoop.hbase">Stoppable</a></code></dd>
@@ -1128,7 +1147,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>checkSnapshotSupport</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1011">checkSnapshotSupport</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1013">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>
@@ -1142,7 +1161,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>checkSnapshotSupport</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1029">checkSnapshotSupport</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1031">checkSnapshotSupport</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                         <a href="../../../../../../org/apache/hadoop/hbase/master/MasterFileSystem.html" title="class in org.apache.hadoop.hbase.master">MasterFileSystem</a>&nbsp;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>
@@ -1162,7 +1181,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1101">initialize</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a>&nbsp;master,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1103">initialize</a>(<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/MetricsMaster.html" title="class in org.apache.hadoop.hbase.master">MetricsMaster</a>&nbsp;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>,
@@ -1185,7 +1204,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>getProcedureSignature</h4>
-<pre>public&nbsp;<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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1129">getProcedureSignature</a>()</pre>
+<pre>public&nbsp;<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>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1131">getProcedureSignature</a>()</pre>
 <div class="block"><strong>Description copied from class:&nbsp;<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
@@ -1202,7 +1221,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>execProcedure</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1134">execProcedure</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription&nbsp;desc)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1136">execProcedure</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription&nbsp;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:&nbsp;<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>
@@ -1220,7 +1239,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockList">
 <li class="blockList">
 <h4>isProcedureDone</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1139">isProcedureDone</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription&nbsp;desc)
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1141">isProcedureDone</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription&nbsp;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:&nbsp;<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>
@@ -1239,7 +1258,7 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/Stoppable.html" ti
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toSnapshotDescription</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1143">toSnapshotDescription</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription&nbsp;desc)
+<pre>private&nbsp;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#line.1145">toSnapshotDescription</a>(org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.ProcedureDescription&nbsp;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>


Mime
View raw message