http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/org/apache/hadoop/hbase/util/package-tree.html ---------------------------------------------------------------------- diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html index b3c8be7..022b67f 100644 --- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html +++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html @@ -532,14 +532,14 @@ <ul> <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>) <ul> -<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li> +<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li> +<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li> +<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a><T>)</li> <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li> +<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li> <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li> -<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li> <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a><T>)</li> -<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li> -<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a><T>)</li> -<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li> +<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li> </ul> </li> </ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html ---------------------------------------------------------------------- diff --git a/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html b/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html index f107575..3aaa4f0 100644 --- a/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html +++ b/devapidocs/org/apache/hadoop/hbase/wal/DisabledWALProvider.DisabledWAL.html @@ -329,6 +329,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title=" <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3> <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/ja va/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li> </ul> +<ul class="blockList"> +<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.wal.WAL"> +<!-- --> +</a> +<h3>Methods inherited from interface org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a></h3> +<code><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync-boolean-">sync</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync-long-boolean-">sync</a></code></li> +</ul> </li> </ul> </li> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html ---------------------------------------------------------------------- diff --git a/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html b/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html index 42d9d4a..d530fa4 100644 --- a/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html +++ b/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.Writer.html @@ -146,7 +146,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.h <!-- --> </a> <h3>Methods inherited from interface org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider.Writer</a></h3> -<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html#append-org.apache.hadoop.hbase.wal.WAL.Entry-">append</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html#sync--">sync</a></code></li> +<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html#append-org.apache.hadoop.hbase.wal.WAL.Entry-">append</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html#sync-boolean-">sync</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.hbase.wal.WALProvider.WriterBase"> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/org/apache/hadoop/hbase/wal/WAL.Entry.html ---------------------------------------------------------------------- diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WAL.Entry.html b/devapidocs/org/apache/hadoop/hbase/wal/WAL.Entry.html index 565cc4b..951d475 100644 --- a/devapidocs/org/apache/hadoop/hbase/wal/WAL.Entry.html +++ b/devapidocs/org/apache/hadoop/hbase/wal/WAL.Entry.html @@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab"; </dl> <hr> <br> -<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.227">WAL.Entry</a> +<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.244">WAL.Entry</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> <div class="block">Utility class that lets us keep track of the edit with it's key.</div> </li> @@ -234,7 +234,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>edit</h4> -<pre>private final <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.228">edit</a></pre> +<pre>private final <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.245">edit</a></pre> </li> </ul> <a name="key"> @@ -243,7 +243,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockListLast"> <li class="blockList"> <h4>key</h4> -<pre>private final <a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.229">key</a></pre> +<pre>private final <a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.246">key</a></pre> </li> </ul> </li> @@ -260,7 +260,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>Entry</h4> -<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.231">Entry</a>()</pre> +<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.248">Entry</a>()</pre> </li> </ul> <a name="Entry-org.apache.hadoop.hbase.wal.WALKeyImpl-org.apache.hadoop.hbase.wal.WALEdit-"> @@ -269,7 +269,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockListLast"> <li class="blockList"> <h4>Entry</h4> -<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.241">Entry</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a> key, +<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.258">Entry</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a> key, <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a> edit)</pre> <div class="block">Constructor for both params</div> <dl> @@ -293,7 +293,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>getEdit</h4> -<pre>public <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.251">getEdit</a>()</pre> +<pre>public <a href="../../../../../org/apache/hadoop/hbase/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.wal">WALEdit</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.268">getEdit</a>()</pre> <div class="block">Gets the edit</div> <dl> <dt><span class="returnLabel">Returns:</span></dt> @@ -307,7 +307,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>getKey</h4> -<pre>public <a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.260">getKey</a>()</pre> +<pre>public <a href="../../../../../org/apache/hadoop/hbase/wal/WALKeyImpl.html" title="class in org.apache.hadoop.hbase.wal">WALKeyImpl</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.277">getKey</a>()</pre> <div class="block">Gets the key</div> <dl> <dt><span class="returnLabel">Returns:</span></dt> @@ -321,7 +321,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>setCompressionContext</h4> -<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.270">setCompressionContext</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a> compressionContext)</pre> +<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Entry.html#line.287">setCompressionContext</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/CompressionContext.html" title="class in org.apache.hadoop.hbase.regionserver.wal">CompressionContext</a> compressionContext)</pre> <div class="block">Set compression context for this entry.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> @@ -335,7 +335,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockListLast"> <li class="blockList"> <h4>toString</h4> -<pre>public <a href="https://docs.oracle.com/javase/8/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/wal/WAL.Entry.html#line.275">toString</a>()</pre> +<pre>public <a href="https://docs.oracle.com/javase/8/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/wal/WAL.Entry.html#line.292">toString</a>()</pre> <dl> <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code> in class <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/org/apache/hadoop/hbase/wal/WAL.Reader.html ---------------------------------------------------------------------- diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WAL.Reader.html b/devapidocs/org/apache/hadoop/hbase/wal/WAL.Reader.html index 52ed458..5985710 100644 --- a/devapidocs/org/apache/hadoop/hbase/wal/WAL.Reader.html +++ b/devapidocs/org/apache/hadoop/hbase/wal/WAL.Reader.html @@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab"; </dl> <hr> <br> -<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.216">WAL.Reader</a> +<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.233">WAL.Reader</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre> <div class="block">When outside clients need to consume persisted WALs, they rely on a provided Reader.</div> @@ -187,7 +187,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <ul class="blockList"> <li class="blockList"> <h4>next</h4> -<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.217">next</a>() +<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.234">next</a>() throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> @@ -201,7 +201,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <ul class="blockList"> <li class="blockList"> <h4>next</h4> -<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.218">next</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a> reuse) +<pre><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.235">next</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a> reuse) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> @@ -215,7 +215,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <ul class="blockList"> <li class="blockList"> <h4>seek</h4> -<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.219">seek</a>(long pos) +<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.236">seek</a>(long pos) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> @@ -229,7 +229,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <ul class="blockList"> <li class="blockList"> <h4>getPosition</h4> -<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.220">getPosition</a>() +<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.237">getPosition</a>() throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> @@ -243,7 +243,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <ul class="blockListLast"> <li class="blockList"> <h4>reset</h4> -<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.221">reset</a>() +<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.Reader.html#line.238">reset</a>() throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/org/apache/hadoop/hbase/wal/WAL.html ---------------------------------------------------------------------- diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WAL.html b/devapidocs/org/apache/hadoop/hbase/wal/WAL.html index 26f0baa..aa07f0a 100644 --- a/devapidocs/org/apache/hadoop/hbase/wal/WAL.html +++ b/devapidocs/org/apache/hadoop/hbase/wal/WAL.html @@ -18,8 +18,8 @@ catch(err) { } //--> -var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":38,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6}; -var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],32:["t6","Deprecated Methods"]}; +var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":38,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":18,"i15":6,"i16":18,"i17":6,"i18":6,"i19":6}; +var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]}; var altColor = "altColor"; var rowColor = "rowColor"; var tableTab = "tableTab"; @@ -159,7 +159,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm </a> <h3>Method Summary</h3> <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> -<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd"> </span></span></caption> +<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default Methods</a></span><span class="tabEnd"> </span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd"> </span></span></caption> <tr> <th class="colFirst" scope="col">Modifier and Type</th> <th class="colLast" scope="col">Method and Description</th> @@ -255,24 +255,33 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm </td> </tr> <tr id="i14" class="altColor"> +<td class="colFirst"><code>default void</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync-boolean-">sync</a></span>(boolean forceSync)</code> </td> +</tr> +<tr id="i15" class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync-long-">sync</a></span>(long txid)</code> <div class="block">Sync the WAL if the txId was not already sync'd.</div> </td> </tr> -<tr id="i15" class="rowColor"> +<tr id="i16" class="altColor"> +<td class="colFirst"><code>default void</code></td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#sync-long-boolean-">sync</a></span>(long txid, + boolean forceSync)</code> </td> +</tr> +<tr id="i17" class="rowColor"> <td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#toString--">toString</a></span>()</code> <div class="block">Human readable identifying information about the state of this WAL.</div> </td> </tr> -<tr id="i16" class="altColor"> +<tr id="i18" class="altColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#unregisterWALActionsListener-org.apache.hadoop.hbase.regionserver.wal.WALActionsListener-">unregisterWALActionsListener</a></span>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a> listener)</code> <div class="block">Unregisters WALActionsListener</div> </td> </tr> -<tr id="i17" class="rowColor"> +<tr id="i19" class="rowColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#updateStore-byte:A-byte:A-java.lang.Long-boolean-">updateStore</a></span>(byte[] encodedRegionName, byte[] familyName, @@ -499,13 +508,49 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm </dl> </li> </ul> +<a name="sync-boolean-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>sync</h4> +<pre>default void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.146">sync</a>(boolean forceSync) + throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>forceSync</code> - Flag to force sync rather than flushing to the buffer. Example - Hadoop hflush + vs hsync.</dd> +<dt><span class="throwsLabel">Throws:</span></dt> +<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> +</dl> +</li> +</ul> +<a name="sync-long-boolean-"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>sync</h4> +<pre>default void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.155">sync</a>(long txid, + boolean forceSync) + throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> +<dl> +<dt><span class="paramLabel">Parameters:</span></dt> +<dd><code>txid</code> - Transaction id to sync to.</dd> +<dd><code>forceSync</code> - Flag to force sync rather than flushing to the buffer. Example - Hadoop hflush + vs hsync.</dd> +<dt><span class="throwsLabel">Throws:</span></dt> +<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> +</dl> +</li> +</ul> <a name="startCacheFlush-byte:A-java.util.Set-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>startCacheFlush</h4> -<pre><a href="https://docs.oracle.com/javase/8/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/wal/WAL.html#line.159">startCacheFlush</a>(byte[] encodedRegionName, +<pre><a href="https://docs.oracle.com/javase/8/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/wal/WAL.html#line.176">startCacheFlush</a>(byte[] encodedRegionName, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><byte[]> families)</pre> <div class="block">WAL keeps track of the sequence numbers that are as yet not flushed im memstores in order to be able to do accounting to figure which WALs can be let go. This method tells WAL @@ -535,7 +580,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <ul class="blockList"> <li class="blockList"> <h4>startCacheFlush</h4> -<pre><a href="https://docs.oracle.com/javase/8/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/wal/WAL.html#line.161">startCacheFlush</a>(byte[] encodedRegionName, +<pre><a href="https://docs.oracle.com/javase/8/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/wal/WAL.html#line.178">startCacheFlush</a>(byte[] encodedRegionName, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a><byte[],<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>> familyToSeq)</pre> </li> </ul> @@ -545,7 +590,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <ul class="blockList"> <li class="blockList"> <h4>completeCacheFlush</h4> -<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.169">completeCacheFlush</a>(byte[] encodedRegionName)</pre> +<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.186">completeCacheFlush</a>(byte[] encodedRegionName)</pre> <div class="block">Complete the cache flush.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> @@ -562,7 +607,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <ul class="blockList"> <li class="blockList"> <h4>abortCacheFlush</h4> -<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.177">abortCacheFlush</a>(byte[] encodedRegionName)</pre> +<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.194">abortCacheFlush</a>(byte[] encodedRegionName)</pre> <div class="block">Abort a cache flush. Call if the flush fails. Note that the only recovery for an aborted flush currently is a restart of the regionserver so the snapshot content dropped by the failure gets restored to the memstore.</div> @@ -578,7 +623,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <ul class="blockList"> <li class="blockList"> <h4>getCoprocessorHost</h4> -<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.182">getCoprocessorHost</a>()</pre> +<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALCoprocessorHost.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALCoprocessorHost</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.199">getCoprocessorHost</a>()</pre> <dl> <dt><span class="returnLabel">Returns:</span></dt> <dd>Coprocessor host.</dd> @@ -592,7 +637,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Closeable.htm <li class="blockList"> <h4>getEarliestMemStoreSeqNum</h4> <pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a> -long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.193">getEarliestMemStoreSeqNum</a>(byte[] encodedRegionName)</pre> +long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.210">getEarliestMemStoreSeqNum</a>(byte[] encodedRegionName)</pre> <div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">Since version 1.2.0. Removing because not used and exposes subtle internal workings. Use <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html#getEarliestMemStoreSeqNum-byte:A-byte:A-"><code>getEarliestMemStoreSeqNum(byte[], byte[])</code></a></span></div> <div class="block">Gets the earliest unflushed sequence id in the memstore for the region.</div> @@ -610,7 +655,7 @@ long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html# <ul class="blockList"> <li class="blockList"> <h4>getEarliestMemStoreSeqNum</h4> -<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.201">getEarliestMemStoreSeqNum</a>(byte[] encodedRegionName, +<pre>long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html#line.218">getEarliestMemStoreSeqNum</a>(byte[] encodedRegionName, byte[] familyName)</pre> <div class="block">Gets the earliest unflushed sequence id in the memstore for the store.</div> <dl> @@ -628,7 +673,7 @@ long <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WAL.html# <ul class="blockListLast"> <li class="blockList"> <h4>toString</h4> -<pre><a href="https://docs.oracle.com/javase/8/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/wal/WAL.html#line.210">toString</a>()</pre> +<pre><a href="https://docs.oracle.com/javase/8/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/wal/WAL.html#line.227">toString</a>()</pre> <div class="block">Human readable identifying information about the state of this WAL. Implementors are encouraged to include information appropriate for debugging. Consumers are advised not to rely on the details of the returned String; it does http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html ---------------------------------------------------------------------- diff --git a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html index 0bf0a0d..117c5b6 100644 --- a/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html +++ b/devapidocs/org/apache/hadoop/hbase/wal/WALProvider.Writer.html @@ -143,7 +143,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBa </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>void</code></td> -<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html#sync--">sync</a></span>()</code> </td> +<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.Writer.html#sync-boolean-">sync</a></span>(boolean forceSync)</code> </td> </tr> </table> <ul class="blockList"> @@ -174,13 +174,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.WriterBa <!-- --> </a> <h3>Method Detail</h3> -<a name="sync--"> +<a name="sync-boolean-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>sync</h4> -<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.Writer.html#line.82">sync</a>() +<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/WALProvider.Writer.html#line.82">sync</a>(boolean forceSync) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html ---------------------------------------------------------------------- diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html index c0e28b4..9ec5b35 100644 --- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html +++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html @@ -189,8 +189,8 @@ <ul> <li type="circle">java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a><E> (implements java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a><T>, java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>) <ul> -<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li> <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALFactory.Providers</span></a></li> +<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">RegionGroupingProvider.Strategies</span></a></li> </ul> </li> </ul> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/src-html/org/apache/hadoop/hbase/Version.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html index 538dfb3..9f52a8e 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html @@ -16,11 +16,11 @@ <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a> <span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a> <span class="sourceLineNo">010</span> public static final String version = "3.0.0-SNAPSHOT";<a name="line.10"></a> -<span class="sourceLineNo">011</span> public static final String revision = "2a3f4a0a4eb7bb67985050b0e007576c468f217e";<a name="line.11"></a> +<span class="sourceLineNo">011</span> public static final String revision = "8ab7b20f48951d77945181024f5e15842bc253c4";<a name="line.11"></a> <span class="sourceLineNo">012</span> public static final String user = "jenkins";<a name="line.12"></a> -<span class="sourceLineNo">013</span> public static final String date = "Tue Mar 20 14:41:21 UTC 2018";<a name="line.13"></a> +<span class="sourceLineNo">013</span> public static final String date = "Wed Mar 21 14:41:50 UTC 2018";<a name="line.13"></a> <span class="sourceLineNo">014</span> public static final String url = "git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a> -<span class="sourceLineNo">015</span> public static final String srcChecksum = "1875b6188f146a29b921f647138ace23";<a name="line.15"></a> +<span class="sourceLineNo">015</span> public static final String srcChecksum = "03e46ad2c22f563cdd7f970f368a1b81";<a name="line.15"></a> <span class="sourceLineNo">016</span>}<a name="line.16"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/src-html/org/apache/hadoop/hbase/client/Durability.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/Durability.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/Durability.html index fe0fb30..0cdca93 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/client/Durability.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/Durability.html @@ -58,11 +58,10 @@ <span class="sourceLineNo">050</span> SYNC_WAL,<a name="line.50"></a> <span class="sourceLineNo">051</span> /**<a name="line.51"></a> <span class="sourceLineNo">052</span> * Write the Mutation to the WAL synchronously and force the entries to disk.<a name="line.52"></a> -<span class="sourceLineNo">053</span> * (Note: this is currently not supported and will behave identical to {@link #SYNC_WAL})<a name="line.53"></a> -<span class="sourceLineNo">054</span> * See <a href="https://issues.apache.org/jira/browse/HADOOP-6313">HADOOP-6313</a><a name="line.54"></a> -<span class="sourceLineNo">055</span> */<a name="line.55"></a> -<span class="sourceLineNo">056</span> FSYNC_WAL<a name="line.56"></a> -<span class="sourceLineNo">057</span>}<a name="line.57"></a> +<span class="sourceLineNo">053</span> * See <a href="https://issues.apache.org/jira/browse/HADOOP-6313">HADOOP-6313</a><a name="line.53"></a> +<span class="sourceLineNo">054</span> */<a name="line.54"></a> +<span class="sourceLineNo">055</span> FSYNC_WAL<a name="line.55"></a> +<span class="sourceLineNo">056</span>}<a name="line.56"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.HFileDeleteTask.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.HFileDeleteTask.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.HFileDeleteTask.html index 3c54cae..a587380 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.HFileDeleteTask.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.HFileDeleteTask.html @@ -243,12 +243,12 @@ <span class="sourceLineNo">235</span> break;<a name="line.235"></a> <span class="sourceLineNo">236</span> }<a name="line.236"></a> <span class="sourceLineNo">237</span> if (task != null) {<a name="line.237"></a> -<span class="sourceLineNo">238</span> LOG.debug("Removing: {} from archive", task.filePath);<a name="line.238"></a> +<span class="sourceLineNo">238</span> LOG.debug("Removing {}", task.filePath);<a name="line.238"></a> <span class="sourceLineNo">239</span> boolean succeed;<a name="line.239"></a> <span class="sourceLineNo">240</span> try {<a name="line.240"></a> <span class="sourceLineNo">241</span> succeed = this.fs.delete(task.filePath, false);<a name="line.241"></a> <span class="sourceLineNo">242</span> } catch (IOException e) {<a name="line.242"></a> -<span class="sourceLineNo">243</span> LOG.warn("Failed to delete file {}", task.filePath, e);<a name="line.243"></a> +<span class="sourceLineNo">243</span> LOG.warn("Failed to delete {}", task.filePath, e);<a name="line.243"></a> <span class="sourceLineNo">244</span> succeed = false;<a name="line.244"></a> <span class="sourceLineNo">245</span> }<a name="line.245"></a> <span class="sourceLineNo">246</span> task.setResult(succeed);<a name="line.246"></a> @@ -258,7 +258,7 @@ <span class="sourceLineNo">250</span> }<a name="line.250"></a> <span class="sourceLineNo">251</span> }<a name="line.251"></a> <span class="sourceLineNo">252</span> } finally {<a name="line.252"></a> -<span class="sourceLineNo">253</span> LOG.debug("Exit thread: {}", Thread.currentThread());<a name="line.253"></a> +<span class="sourceLineNo">253</span> LOG.debug("Exit {}", Thread.currentThread());<a name="line.253"></a> <span class="sourceLineNo">254</span> }<a name="line.254"></a> <span class="sourceLineNo">255</span> }<a name="line.255"></a> <span class="sourceLineNo">256</span><a name="line.256"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html index 3c54cae..a587380 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/cleaner/HFileCleaner.html @@ -243,12 +243,12 @@ <span class="sourceLineNo">235</span> break;<a name="line.235"></a> <span class="sourceLineNo">236</span> }<a name="line.236"></a> <span class="sourceLineNo">237</span> if (task != null) {<a name="line.237"></a> -<span class="sourceLineNo">238</span> LOG.debug("Removing: {} from archive", task.filePath);<a name="line.238"></a> +<span class="sourceLineNo">238</span> LOG.debug("Removing {}", task.filePath);<a name="line.238"></a> <span class="sourceLineNo">239</span> boolean succeed;<a name="line.239"></a> <span class="sourceLineNo">240</span> try {<a name="line.240"></a> <span class="sourceLineNo">241</span> succeed = this.fs.delete(task.filePath, false);<a name="line.241"></a> <span class="sourceLineNo">242</span> } catch (IOException e) {<a name="line.242"></a> -<span class="sourceLineNo">243</span> LOG.warn("Failed to delete file {}", task.filePath, e);<a name="line.243"></a> +<span class="sourceLineNo">243</span> LOG.warn("Failed to delete {}", task.filePath, e);<a name="line.243"></a> <span class="sourceLineNo">244</span> succeed = false;<a name="line.244"></a> <span class="sourceLineNo">245</span> }<a name="line.245"></a> <span class="sourceLineNo">246</span> task.setResult(succeed);<a name="line.246"></a> @@ -258,7 +258,7 @@ <span class="sourceLineNo">250</span> }<a name="line.250"></a> <span class="sourceLineNo">251</span> }<a name="line.251"></a> <span class="sourceLineNo">252</span> } finally {<a name="line.252"></a> -<span class="sourceLineNo">253</span> LOG.debug("Exit thread: {}", Thread.currentThread());<a name="line.253"></a> +<span class="sourceLineNo">253</span> LOG.debug("Exit {}", Thread.currentThread());<a name="line.253"></a> <span class="sourceLineNo">254</span> }<a name="line.254"></a> <span class="sourceLineNo">255</span> }<a name="line.255"></a> <span class="sourceLineNo">256</span><a name="line.256"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6eb695c8/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.html ---------------------------------------------------------------------- diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.html b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.html index d90ed37..b4519ba 100644 --- a/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.html +++ b/devapidocs/src-html/org/apache/hadoop/hbase/master/procedure/RecoverMetaProcedure.html @@ -112,187 +112,202 @@ <span class="sourceLineNo">104</span><a name="line.104"></a> <span class="sourceLineNo">105</span> try {<a name="line.105"></a> <span class="sourceLineNo">106</span> switch (state) {<a name="line.106"></a> -<span class="sourceLineNo">107</span> case RECOVER_META_SPLIT_LOGS:<a name="line.107"></a> -<span class="sourceLineNo">108</span> LOG.info("Start " + this);<a name="line.108"></a> -<span class="sourceLineNo">109</span> if (shouldSplitWal) {<a name="line.109"></a> -<span class="sourceLineNo">110</span> // TODO: Matteo. We BLOCK here but most important thing to be doing at this moment.<a name="line.110"></a> -<span class="sourceLineNo">111</span> if (failedMetaServer != null) {<a name="line.111"></a> -<span class="sourceLineNo">112</span> master.getMasterWalManager().splitMetaLog(failedMetaServer);<a name="line.112"></a> -<span class="sourceLineNo">113</span> } else {<a name="line.113"></a> -<span class="sourceLineNo">114</span> ServerName serverName =<a name="line.114"></a> -<span class="sourceLineNo">115</span> master.getMetaTableLocator().getMetaRegionLocation(master.getZooKeeper());<a name="line.115"></a> -<span class="sourceLineNo">116</span> Set<ServerName> previouslyFailedServers =<a name="line.116"></a> -<span class="sourceLineNo">117</span> master.getMasterWalManager().getFailedServersFromLogFolders();<a name="line.117"></a> -<span class="sourceLineNo">118</span> if (serverName != null && previouslyFailedServers.contains(serverName)) {<a name="line.118"></a> -<span class="sourceLineNo">119</span> master.getMasterWalManager().splitMetaLog(serverName);<a name="line.119"></a> -<span class="sourceLineNo">120</span> }<a name="line.120"></a> -<span class="sourceLineNo">121</span> }<a name="line.121"></a> -<span class="sourceLineNo">122</span> }<a name="line.122"></a> -<span class="sourceLineNo">123</span> setNextState(RecoverMetaState.RECOVER_META_ASSIGN_REGIONS);<a name="line.123"></a> -<span class="sourceLineNo">124</span> break;<a name="line.124"></a> -<span class="sourceLineNo">125</span><a name="line.125"></a> -<span class="sourceLineNo">126</span> case RECOVER_META_ASSIGN_REGIONS:<a name="line.126"></a> -<span class="sourceLineNo">127</span> RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(<a name="line.127"></a> -<span class="sourceLineNo">128</span> RegionInfoBuilder.FIRST_META_REGIONINFO, this.replicaId);<a name="line.128"></a> -<span class="sourceLineNo">129</span><a name="line.129"></a> -<span class="sourceLineNo">130</span> AssignProcedure metaAssignProcedure;<a name="line.130"></a> -<span class="sourceLineNo">131</span> AssignmentManager am = master.getAssignmentManager();<a name="line.131"></a> -<span class="sourceLineNo">132</span> if (failedMetaServer != null) {<a name="line.132"></a> -<span class="sourceLineNo">133</span> handleRIT(env, hri, this.failedMetaServer);<a name="line.133"></a> -<span class="sourceLineNo">134</span> LOG.info(this + "; Assigning meta with new plan; previous server=" + failedMetaServer);<a name="line.134"></a> -<span class="sourceLineNo">135</span> metaAssignProcedure = am.createAssignProcedure(hri);<a name="line.135"></a> -<span class="sourceLineNo">136</span> } else {<a name="line.136"></a> -<span class="sourceLineNo">137</span> // get server carrying meta from zk<a name="line.137"></a> -<span class="sourceLineNo">138</span> ServerName metaServer =<a name="line.138"></a> -<span class="sourceLineNo">139</span> MetaTableLocator.getMetaRegionState(master.getZooKeeper()).getServerName();<a name="line.139"></a> -<span class="sourceLineNo">140</span> LOG.info(this + "; Retaining meta assignment to server=" + metaServer);<a name="line.140"></a> -<span class="sourceLineNo">141</span> metaAssignProcedure = am.createAssignProcedure(hri, metaServer);<a name="line.141"></a> -<span class="sourceLineNo">142</span> }<a name="line.142"></a> -<span class="sourceLineNo">143</span><a name="line.143"></a> -<span class="sourceLineNo">144</span> addChildProcedure(metaAssignProcedure);<a name="line.144"></a> -<span class="sourceLineNo">145</span> return Flow.NO_MORE_STATE;<a name="line.145"></a> -<span class="sourceLineNo">146</span><a name="line.146"></a> -<span class="sourceLineNo">147</span> default:<a name="line.147"></a> -<span class="sourceLineNo">148</span> throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.148"></a> -<span class="sourceLineNo">149</span> }<a name="line.149"></a> -<span class="sourceLineNo">150</span> } catch (IOException|KeeperException e) {<a name="line.150"></a> -<span class="sourceLineNo">151</span> LOG.warn(this + "; Failed state=" + state + ", retry " + this + "; cycles=" +<a name="line.151"></a> -<span class="sourceLineNo">152</span> getCycles(), e);<a name="line.152"></a> -<span class="sourceLineNo">153</span> }<a name="line.153"></a> -<span class="sourceLineNo">154</span> return Flow.HAS_MORE_STATE;<a name="line.154"></a> -<span class="sourceLineNo">155</span> }<a name="line.155"></a> -<span class="sourceLineNo">156</span><a name="line.156"></a> -<span class="sourceLineNo">157</span> /**<a name="line.157"></a> -<span class="sourceLineNo">158</span> * Is the region stuck assigning to this failedMetaServer? If so, cancel the call<a name="line.158"></a> -<span class="sourceLineNo">159</span> * just as we do over in ServerCrashProcedure#handleRIT except less to do here; less context<a name="line.159"></a> -<span class="sourceLineNo">160</span> * to carry.<a name="line.160"></a> -<span class="sourceLineNo">161</span> */<a name="line.161"></a> -<span class="sourceLineNo">162</span> // NOTE: Make sure any fix or improvement done here is also done in SCP#handleRIT; the methods<a name="line.162"></a> -<span class="sourceLineNo">163</span> // have overlap.<a name="line.163"></a> -<span class="sourceLineNo">164</span> private void handleRIT(MasterProcedureEnv env, RegionInfo ri, ServerName crashedServerName) {<a name="line.164"></a> -<span class="sourceLineNo">165</span> AssignmentManager am = env.getAssignmentManager();<a name="line.165"></a> -<span class="sourceLineNo">166</span> RegionTransitionProcedure rtp = am.getRegionStates().getRegionTransitionProcedure(ri);<a name="line.166"></a> -<span class="sourceLineNo">167</span> if (rtp == null) {<a name="line.167"></a> -<span class="sourceLineNo">168</span> return; // Nothing to do. Not in RIT.<a name="line.168"></a> -<span class="sourceLineNo">169</span> }<a name="line.169"></a> -<span class="sourceLineNo">170</span> // Make sure the RIT is against this crashed server. In the case where there are many<a name="line.170"></a> -<span class="sourceLineNo">171</span> // processings of a crashed server -- backed up for whatever reason (slow WAL split)<a name="line.171"></a> -<span class="sourceLineNo">172</span> // -- then a previous SCP may have already failed an assign, etc., and it may have a<a name="line.172"></a> -<span class="sourceLineNo">173</span> // new location target; DO NOT fail these else we make for assign flux.<a name="line.173"></a> -<span class="sourceLineNo">174</span> ServerName rtpServerName = rtp.getServer(env);<a name="line.174"></a> -<span class="sourceLineNo">175</span> if (rtpServerName == null) {<a name="line.175"></a> -<span class="sourceLineNo">176</span> LOG.warn("RIT with ServerName null! " + rtp);<a name="line.176"></a> -<span class="sourceLineNo">177</span> } else if (rtpServerName.equals(crashedServerName)) {<a name="line.177"></a> -<span class="sourceLineNo">178</span> LOG.info("pid=" + getProcId() + " found RIT " + rtp + "; " +<a name="line.178"></a> -<span class="sourceLineNo">179</span> rtp.getRegionState(env).toShortString());<a name="line.179"></a> -<span class="sourceLineNo">180</span> rtp.remoteCallFailed(env, crashedServerName,<a name="line.180"></a> -<span class="sourceLineNo">181</span> new ServerCrashException(getProcId(), crashedServerName));<a name="line.181"></a> -<span class="sourceLineNo">182</span> }<a name="line.182"></a> -<span class="sourceLineNo">183</span> }<a name="line.183"></a> -<span class="sourceLineNo">184</span><a name="line.184"></a> -<span class="sourceLineNo">185</span> @Override<a name="line.185"></a> -<span class="sourceLineNo">186</span> protected void rollbackState(MasterProcedureEnv env,<a name="line.186"></a> -<span class="sourceLineNo">187</span> MasterProcedureProtos.RecoverMetaState recoverMetaState)<a name="line.187"></a> -<span class="sourceLineNo">188</span> throws IOException, InterruptedException {<a name="line.188"></a> -<span class="sourceLineNo">189</span> // Can't rollback<a name="line.189"></a> -<span class="sourceLineNo">190</span> throw new UnsupportedOperationException("unhandled state=" + recoverMetaState);<a name="line.190"></a> -<span class="sourceLineNo">191</span> }<a name="line.191"></a> -<span class="sourceLineNo">192</span><a name="line.192"></a> -<span class="sourceLineNo">193</span> @Override<a name="line.193"></a> -<span class="sourceLineNo">194</span> protected MasterProcedureProtos.RecoverMetaState getState(int stateId) {<a name="line.194"></a> -<span class="sourceLineNo">195</span> return RecoverMetaState.forNumber(stateId);<a name="line.195"></a> -<span class="sourceLineNo">196</span> }<a name="line.196"></a> -<span class="sourceLineNo">197</span><a name="line.197"></a> -<span class="sourceLineNo">198</span> @Override<a name="line.198"></a> -<span class="sourceLineNo">199</span> protected int getStateId(MasterProcedureProtos.RecoverMetaState recoverMetaState) {<a name="line.199"></a> -<span class="sourceLineNo">200</span> return recoverMetaState.getNumber();<a name="line.200"></a> -<span class="sourceLineNo">201</span> }<a name="line.201"></a> -<span class="sourceLineNo">202</span><a name="line.202"></a> -<span class="sourceLineNo">203</span> @Override<a name="line.203"></a> -<span class="sourceLineNo">204</span> protected MasterProcedureProtos.RecoverMetaState getInitialState() {<a name="line.204"></a> -<span class="sourceLineNo">205</span> return RecoverMetaState.RECOVER_META_SPLIT_LOGS;<a name="line.205"></a> +<span class="sourceLineNo">107</span> case RECOVER_META_PREPARE:<a name="line.107"></a> +<span class="sourceLineNo">108</span> // If Master is going down or cluster is up, skip this assign by returning NO_MORE_STATE<a name="line.108"></a> +<span class="sourceLineNo">109</span> if (!master.isClusterUp()) {<a name="line.109"></a> +<span class="sourceLineNo">110</span> String msg = "Cluster not up! Skipping hbase:meta assign.";<a name="line.110"></a> +<span class="sourceLineNo">111</span> LOG.warn(msg);<a name="line.111"></a> +<span class="sourceLineNo">112</span> return Flow.NO_MORE_STATE;<a name="line.112"></a> +<span class="sourceLineNo">113</span> }<a name="line.113"></a> +<span class="sourceLineNo">114</span> if (master.isStopping() || master.isStopped()) {<a name="line.114"></a> +<span class="sourceLineNo">115</span> String msg = "Master stopping=" + master.isStopping() + ", stopped=" +<a name="line.115"></a> +<span class="sourceLineNo">116</span> master.isStopped() + "; skipping hbase:meta assign.";<a name="line.116"></a> +<span class="sourceLineNo">117</span> LOG.warn(msg);<a name="line.117"></a> +<span class="sourceLineNo">118</span> return Flow.NO_MORE_STATE;<a name="line.118"></a> +<span class="sourceLineNo">119</span> }<a name="line.119"></a> +<span class="sourceLineNo">120</span> setNextState(RecoverMetaState.RECOVER_META_SPLIT_LOGS);<a name="line.120"></a> +<span class="sourceLineNo">121</span> break;<a name="line.121"></a> +<span class="sourceLineNo">122</span> case RECOVER_META_SPLIT_LOGS:<a name="line.122"></a> +<span class="sourceLineNo">123</span> LOG.info("Start " + this);<a name="line.123"></a> +<span class="sourceLineNo">124</span> if (shouldSplitWal) {<a name="line.124"></a> +<span class="sourceLineNo">125</span> // TODO: Matteo. We BLOCK here but most important thing to be doing at this moment.<a name="line.125"></a> +<span class="sourceLineNo">126</span> if (failedMetaServer != null) {<a name="line.126"></a> +<span class="sourceLineNo">127</span> master.getMasterWalManager().splitMetaLog(failedMetaServer);<a name="line.127"></a> +<span class="sourceLineNo">128</span> } else {<a name="line.128"></a> +<span class="sourceLineNo">129</span> ServerName serverName =<a name="line.129"></a> +<span class="sourceLineNo">130</span> master.getMetaTableLocator().getMetaRegionLocation(master.getZooKeeper());<a name="line.130"></a> +<span class="sourceLineNo">131</span> Set<ServerName> previouslyFailedServers =<a name="line.131"></a> +<span class="sourceLineNo">132</span> master.getMasterWalManager().getFailedServersFromLogFolders();<a name="line.132"></a> +<span class="sourceLineNo">133</span> if (serverName != null && previouslyFailedServers.contains(serverName)) {<a name="line.133"></a> +<span class="sourceLineNo">134</span> master.getMasterWalManager().splitMetaLog(serverName);<a name="line.134"></a> +<span class="sourceLineNo">135</span> }<a name="line.135"></a> +<span class="sourceLineNo">136</span> }<a name="line.136"></a> +<span class="sourceLineNo">137</span> }<a name="line.137"></a> +<span class="sourceLineNo">138</span> setNextState(RecoverMetaState.RECOVER_META_ASSIGN_REGIONS);<a name="line.138"></a> +<span class="sourceLineNo">139</span> break;<a name="line.139"></a> +<span class="sourceLineNo">140</span><a name="line.140"></a> +<span class="sourceLineNo">141</span> case RECOVER_META_ASSIGN_REGIONS:<a name="line.141"></a> +<span class="sourceLineNo">142</span> RegionInfo hri = RegionReplicaUtil.getRegionInfoForReplica(<a name="line.142"></a> +<span class="sourceLineNo">143</span> RegionInfoBuilder.FIRST_META_REGIONINFO, this.replicaId);<a name="line.143"></a> +<span class="sourceLineNo">144</span><a name="line.144"></a> +<span class="sourceLineNo">145</span> AssignProcedure metaAssignProcedure;<a name="line.145"></a> +<span class="sourceLineNo">146</span> AssignmentManager am = master.getAssignmentManager();<a name="line.146"></a> +<span class="sourceLineNo">147</span> if (failedMetaServer != null) {<a name="line.147"></a> +<span class="sourceLineNo">148</span> handleRIT(env, hri, this.failedMetaServer);<a name="line.148"></a> +<span class="sourceLineNo">149</span> LOG.info(this + "; Assigning meta with new plan; previous server=" + failedMetaServer);<a name="line.149"></a> +<span class="sourceLineNo">150</span> metaAssignProcedure = am.createAssignProcedure(hri);<a name="line.150"></a> +<span class="sourceLineNo">151</span> } else {<a name="line.151"></a> +<span class="sourceLineNo">152</span> // get server carrying meta from zk<a name="line.152"></a> +<span class="sourceLineNo">153</span> ServerName metaServer =<a name="line.153"></a> +<span class="sourceLineNo">154</span> MetaTableLocator.getMetaRegionState(master.getZooKeeper()).getServerName();<a name="line.154"></a> +<span class="sourceLineNo">155</span> LOG.info(this + "; Retaining meta assignment to server=" + metaServer);<a name="line.155"></a> +<span class="sourceLineNo">156</span> metaAssignProcedure = am.createAssignProcedure(hri, metaServer);<a name="line.156"></a> +<span class="sourceLineNo">157</span> }<a name="line.157"></a> +<span class="sourceLineNo">158</span><a name="line.158"></a> +<span class="sourceLineNo">159</span> addChildProcedure(metaAssignProcedure);<a name="line.159"></a> +<span class="sourceLineNo">160</span> return Flow.NO_MORE_STATE;<a name="line.160"></a> +<span class="sourceLineNo">161</span><a name="line.161"></a> +<span class="sourceLineNo">162</span> default:<a name="line.162"></a> +<span class="sourceLineNo">163</span> throw new UnsupportedOperationException("unhandled state=" + state);<a name="line.163"></a> +<span class="sourceLineNo">164</span> }<a name="line.164"></a> +<span class="sourceLineNo">165</span> } catch (IOException|KeeperException e) {<a name="line.165"></a> +<span class="sourceLineNo">166</span> LOG.warn(this + "; Failed state=" + state + ", retry " + this + "; cycles=" +<a name="line.166"></a> +<span class="sourceLineNo">167</span> getCycles(), e);<a name="line.167"></a> +<span class="sourceLineNo">168</span> }<a name="line.168"></a> +<span class="sourceLineNo">169</span> return Flow.HAS_MORE_STATE;<a name="line.169"></a> +<span class="sourceLineNo">170</span> }<a name="line.170"></a> +<span class="sourceLineNo">171</span><a name="line.171"></a> +<span class="sourceLineNo">172</span> /**<a name="line.172"></a> +<span class="sourceLineNo">173</span> * Is the region stuck assigning to this failedMetaServer? If so, cancel the call<a name="line.173"></a> +<span class="sourceLineNo">174</span> * just as we do over in ServerCrashProcedure#handleRIT except less to do here; less context<a name="line.174"></a> +<span class="sourceLineNo">175</span> * to carry.<a name="line.175"></a> +<span class="sourceLineNo">176</span> */<a name="line.176"></a> +<span class="sourceLineNo">177</span> // NOTE: Make sure any fix or improvement done here is also done in SCP#handleRIT; the methods<a name="line.177"></a> +<span class="sourceLineNo">178</span> // have overlap.<a name="line.178"></a> +<span class="sourceLineNo">179</span> private void handleRIT(MasterProcedureEnv env, RegionInfo ri, ServerName crashedServerName) {<a name="line.179"></a> +<span class="sourceLineNo">180</span> AssignmentManager am = env.getAssignmentManager();<a name="line.180"></a> +<span class="sourceLineNo">181</span> RegionTransitionProcedure rtp = am.getRegionStates().getRegionTransitionProcedure(ri);<a name="line.181"></a> +<span class="sourceLineNo">182</span> if (rtp == null) {<a name="line.182"></a> +<span class="sourceLineNo">183</span> return; // Nothing to do. Not in RIT.<a name="line.183"></a> +<span class="sourceLineNo">184</span> }<a name="line.184"></a> +<span class="sourceLineNo">185</span> // Make sure the RIT is against this crashed server. In the case where there are many<a name="line.185"></a> +<span class="sourceLineNo">186</span> // processings of a crashed server -- backed up for whatever reason (slow WAL split)<a name="line.186"></a> +<span class="sourceLineNo">187</span> // -- then a previous SCP may have already failed an assign, etc., and it may have a<a name="line.187"></a> +<span class="sourceLineNo">188</span> // new location target; DO NOT fail these else we make for assign flux.<a name="line.188"></a> +<span class="sourceLineNo">189</span> ServerName rtpServerName = rtp.getServer(env);<a name="line.189"></a> +<span class="sourceLineNo">190</span> if (rtpServerName == null) {<a name="line.190"></a> +<span class="sourceLineNo">191</span> LOG.warn("RIT with ServerName null! " + rtp);<a name="line.191"></a> +<span class="sourceLineNo">192</span> } else if (rtpServerName.equals(crashedServerName)) {<a name="line.192"></a> +<span class="sourceLineNo">193</span> LOG.info("pid=" + getProcId() + " found RIT " + rtp + "; " +<a name="line.193"></a> +<span class="sourceLineNo">194</span> rtp.getRegionState(env).toShortString());<a name="line.194"></a> +<span class="sourceLineNo">195</span> rtp.remoteCallFailed(env, crashedServerName,<a name="line.195"></a> +<span class="sourceLineNo">196</span> new ServerCrashException(getProcId(), crashedServerName));<a name="line.196"></a> +<span class="sourceLineNo">197</span> }<a name="line.197"></a> +<span class="sourceLineNo">198</span> }<a name="line.198"></a> +<span class="sourceLineNo">199</span><a name="line.199"></a> +<span class="sourceLineNo">200</span> @Override<a name="line.200"></a> +<span class="sourceLineNo">201</span> protected void rollbackState(MasterProcedureEnv env,<a name="line.201"></a> +<span class="sourceLineNo">202</span> MasterProcedureProtos.RecoverMetaState recoverMetaState)<a name="line.202"></a> +<span class="sourceLineNo">203</span> throws IOException, InterruptedException {<a name="line.203"></a> +<span class="sourceLineNo">204</span> // Can't rollback<a name="line.204"></a> +<span class="sourceLineNo">205</span> throw new UnsupportedOperationException("unhandled state=" + recoverMetaState);<a name="line.205"></a> <span class="sourceLineNo">206</span> }<a name="line.206"></a> <span class="sourceLineNo">207</span><a name="line.207"></a> <span class="sourceLineNo">208</span> @Override<a name="line.208"></a> -<span class="sourceLineNo">209</span> protected void toStringClassDetails(StringBuilder sb) {<a name="line.209"></a> -<span class="sourceLineNo">210</span> sb.append(getClass().getSimpleName());<a name="line.210"></a> -<span class="sourceLineNo">211</span> sb.append(" failedMetaServer=");<a name="line.211"></a> -<span class="sourceLineNo">212</span> sb.append(failedMetaServer);<a name="line.212"></a> -<span class="sourceLineNo">213</span> sb.append(", splitWal=");<a name="line.213"></a> -<span class="sourceLineNo">214</span> sb.append(shouldSplitWal);<a name="line.214"></a> -<span class="sourceLineNo">215</span> }<a name="line.215"></a> -<span class="sourceLineNo">216</span><a name="line.216"></a> -<span class="sourceLineNo">217</span> @Override<a name="line.217"></a> -<span class="sourceLineNo">218</span> protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.218"></a> -<span class="sourceLineNo">219</span> throws IOException {<a name="line.219"></a> -<span class="sourceLineNo">220</span> super.serializeStateData(serializer);<a name="line.220"></a> -<span class="sourceLineNo">221</span> MasterProcedureProtos.RecoverMetaStateData.Builder state =<a name="line.221"></a> -<span class="sourceLineNo">222</span> MasterProcedureProtos.RecoverMetaStateData.newBuilder().setShouldSplitWal(shouldSplitWal);<a name="line.222"></a> -<span class="sourceLineNo">223</span> if (failedMetaServer != null) {<a name="line.223"></a> -<span class="sourceLineNo">224</span> state.setFailedMetaServer(ProtobufUtil.toServerName(failedMetaServer));<a name="line.224"></a> -<span class="sourceLineNo">225</span> }<a name="line.225"></a> -<span class="sourceLineNo">226</span> state.setReplicaId(replicaId);<a name="line.226"></a> -<span class="sourceLineNo">227</span> serializer.serialize(state.build());<a name="line.227"></a> -<span class="sourceLineNo">228</span> }<a name="line.228"></a> -<span class="sourceLineNo">229</span><a name="line.229"></a> -<span class="sourceLineNo">230</span> @Override<a name="line.230"></a> -<span class="sourceLineNo">231</span> protected void deserializeStateData(ProcedureStateSerializer serializer)<a name="line.231"></a> -<span class="sourceLineNo">232</span> throws IOException {<a name="line.232"></a> -<span class="sourceLineNo">233</span> super.deserializeStateData(serializer);<a name="line.233"></a> -<span class="sourceLineNo">234</span> MasterProcedureProtos.RecoverMetaStateData state =<a name="line.234"></a> -<span class="sourceLineNo">235</span> serializer.deserialize(MasterProcedureProtos.RecoverMetaStateData.class);<a name="line.235"></a> -<span class="sourceLineNo">236</span> this.shouldSplitWal = state.hasShouldSplitWal() && state.getShouldSplitWal();<a name="line.236"></a> -<span class="sourceLineNo">237</span> this.failedMetaServer = state.hasFailedMetaServer() ?<a name="line.237"></a> -<span class="sourceLineNo">238</span> ProtobufUtil.toServerName(state.getFailedMetaServer()) : null;<a name="line.238"></a> -<span class="sourceLineNo">239</span> this.replicaId = state.hasReplicaId() ? state.getReplicaId() : RegionInfo.DEFAULT_REPLICA_ID;<a name="line.239"></a> -<span class="sourceLineNo">240</span> }<a name="line.240"></a> -<span class="sourceLineNo">241</span><a name="line.241"></a> -<span class="sourceLineNo">242</span> @Override<a name="line.242"></a> -<span class="sourceLineNo">243</span> protected LockState acquireLock(MasterProcedureEnv env) {<a name="line.243"></a> -<span class="sourceLineNo">244</span> if (env.getProcedureScheduler().waitTableExclusiveLock(this, TableName.META_TABLE_NAME)) {<a name="line.244"></a> -<span class="sourceLineNo">245</span> return LockState.LOCK_EVENT_WAIT;<a name="line.245"></a> -<span class="sourceLineNo">246</span> }<a name="line.246"></a> -<span class="sourceLineNo">247</span> return LockState.LOCK_ACQUIRED;<a name="line.247"></a> -<span class="sourceLineNo">248</span> }<a name="line.248"></a> -<span class="sourceLineNo">249</span><a name="line.249"></a> -<span class="sourceLineNo">250</span> @Override<a name="line.250"></a> -<span class="sourceLineNo">251</span> protected void releaseLock(MasterProcedureEnv env) {<a name="line.251"></a> -<span class="sourceLineNo">252</span> env.getProcedureScheduler().wakeTableExclusiveLock(this, TableName.META_TABLE_NAME);<a name="line.252"></a> -<span class="sourceLineNo">253</span> }<a name="line.253"></a> -<span class="sourceLineNo">254</span><a name="line.254"></a> -<span class="sourceLineNo">255</span> @Override<a name="line.255"></a> -<span class="sourceLineNo">256</span> protected void completionCleanup(MasterProcedureEnv env) {<a name="line.256"></a> -<span class="sourceLineNo">257</span> ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.257"></a> -<span class="sourceLineNo">258</span> }<a name="line.258"></a> -<span class="sourceLineNo">259</span><a name="line.259"></a> -<span class="sourceLineNo">260</span> @Override<a name="line.260"></a> -<span class="sourceLineNo">261</span> public TableName getTableName() {<a name="line.261"></a> -<span class="sourceLineNo">262</span> return TableName.META_TABLE_NAME;<a name="line.262"></a> +<span class="sourceLineNo">209</span> protected MasterProcedureProtos.RecoverMetaState getState(int stateId) {<a name="line.209"></a> +<span class="sourceLineNo">210</span> return RecoverMetaState.forNumber(stateId);<a name="line.210"></a> +<span class="sourceLineNo">211</span> }<a name="line.211"></a> +<span class="sourceLineNo">212</span><a name="line.212"></a> +<span class="sourceLineNo">213</span> @Override<a name="line.213"></a> +<span class="sourceLineNo">214</span> protected int getStateId(MasterProcedureProtos.RecoverMetaState recoverMetaState) {<a name="line.214"></a> +<span class="sourceLineNo">215</span> return recoverMetaState.getNumber();<a name="line.215"></a> +<span class="sourceLineNo">216</span> }<a name="line.216"></a> +<span class="sourceLineNo">217</span><a name="line.217"></a> +<span class="sourceLineNo">218</span> @Override<a name="line.218"></a> +<span class="sourceLineNo">219</span> protected MasterProcedureProtos.RecoverMetaState getInitialState() {<a name="line.219"></a> +<span class="sourceLineNo">220</span> return RecoverMetaState.RECOVER_META_PREPARE;<a name="line.220"></a> +<span class="sourceLineNo">221</span> }<a name="line.221"></a> +<span class="sourceLineNo">222</span><a name="line.222"></a> +<span class="sourceLineNo">223</span> @Override<a name="line.223"></a> +<span class="sourceLineNo">224</span> protected void toStringClassDetails(StringBuilder sb) {<a name="line.224"></a> +<span class="sourceLineNo">225</span> sb.append(getClass().getSimpleName());<a name="line.225"></a> +<span class="sourceLineNo">226</span> sb.append(" failedMetaServer=");<a name="line.226"></a> +<span class="sourceLineNo">227</span> sb.append(failedMetaServer);<a name="line.227"></a> +<span class="sourceLineNo">228</span> sb.append(", splitWal=");<a name="line.228"></a> +<span class="sourceLineNo">229</span> sb.append(shouldSplitWal);<a name="line.229"></a> +<span class="sourceLineNo">230</span> }<a name="line.230"></a> +<span class="sourceLineNo">231</span><a name="line.231"></a> +<span class="sourceLineNo">232</span> @Override<a name="line.232"></a> +<span class="sourceLineNo">233</span> protected void serializeStateData(ProcedureStateSerializer serializer)<a name="line.233"></a> +<span class="sourceLineNo">234</span> throws IOException {<a name="line.234"></a> +<span class="sourceLineNo">235</span> super.serializeStateData(serializer);<a name="line.235"></a> +<span class="sourceLineNo">236</span> MasterProcedureProtos.RecoverMetaStateData.Builder state =<a name="line.236"></a> +<span class="sourceLineNo">237</span> MasterProcedureProtos.RecoverMetaStateData.newBuilder().setShouldSplitWal(shouldSplitWal);<a name="line.237"></a> +<span class="sourceLineNo">238</span> if (failedMetaServer != null) {<a name="line.238"></a> +<span class="sourceLineNo">239</span> state.setFailedMetaServer(ProtobufUtil.toServerName(failedMetaServer));<a name="line.239"></a> +<span class="sourceLineNo">240</span> }<a name="line.240"></a> +<span class="sourceLineNo">241</span> state.setReplicaId(replicaId);<a name="line.241"></a> +<span class="sourceLineNo">242</span> serializer.serialize(state.build());<a name="line.242"></a> +<span class="sourceLineNo">243</span> }<a name="line.243"></a> +<span class="sourceLineNo">244</span><a name="line.244"></a> +<span class="sourceLineNo">245</span> @Override<a name="line.245"></a> +<span class="sourceLineNo">246</span> protected void deserializeStateData(ProcedureStateSerializer serializer)<a name="line.246"></a> +<span class="sourceLineNo">247</span> throws IOException {<a name="line.247"></a> +<span class="sourceLineNo">248</span> super.deserializeStateData(serializer);<a name="line.248"></a> +<span class="sourceLineNo">249</span> MasterProcedureProtos.RecoverMetaStateData state =<a name="line.249"></a> +<span class="sourceLineNo">250</span> serializer.deserialize(MasterProcedureProtos.RecoverMetaStateData.class);<a name="line.250"></a> +<span class="sourceLineNo">251</span> this.shouldSplitWal = state.hasShouldSplitWal() && state.getShouldSplitWal();<a name="line.251"></a> +<span class="sourceLineNo">252</span> this.failedMetaServer = state.hasFailedMetaServer() ?<a name="line.252"></a> +<span class="sourceLineNo">253</span> ProtobufUtil.toServerName(state.getFailedMetaServer()) : null;<a name="line.253"></a> +<span class="sourceLineNo">254</span> this.replicaId = state.hasReplicaId() ? state.getReplicaId() : RegionInfo.DEFAULT_REPLICA_ID;<a name="line.254"></a> +<span class="sourceLineNo">255</span> }<a name="line.255"></a> +<span class="sourceLineNo">256</span><a name="line.256"></a> +<span class="sourceLineNo">257</span> @Override<a name="line.257"></a> +<span class="sourceLineNo">258</span> protected LockState acquireLock(MasterProcedureEnv env) {<a name="line.258"></a> +<span class="sourceLineNo">259</span> if (env.getProcedureScheduler().waitTableExclusiveLock(this, TableName.META_TABLE_NAME)) {<a name="line.259"></a> +<span class="sourceLineNo">260</span> return LockState.LOCK_EVENT_WAIT;<a name="line.260"></a> +<span class="sourceLineNo">261</span> }<a name="line.261"></a> +<span class="sourceLineNo">262</span> return LockState.LOCK_ACQUIRED;<a name="line.262"></a> <span class="sourceLineNo">263</span> }<a name="line.263"></a> <span class="sourceLineNo">264</span><a name="line.264"></a> <span class="sourceLineNo">265</span> @Override<a name="line.265"></a> -<span class="sourceLineNo">266</span> public TableOperationType getTableOperationType() {<a name="line.266"></a> -<span class="sourceLineNo">267</span> return TableOperationType.ENABLE;<a name="line.267"></a> +<span class="sourceLineNo">266</span> protected void releaseLock(MasterProcedureEnv env) {<a name="line.266"></a> +<span class="sourceLineNo">267</span> env.getProcedureScheduler().wakeTableExclusiveLock(this, TableName.META_TABLE_NAME);<a name="line.267"></a> <span class="sourceLineNo">268</span> }<a name="line.268"></a> <span class="sourceLineNo">269</span><a name="line.269"></a> -<span class="sourceLineNo">270</span> /**<a name="line.270"></a> -<span class="sourceLineNo">271</span> * @return true if failedMetaServer is not null (meta carrying server crashed) or meta is<a name="line.271"></a> -<span class="sourceLineNo">272</span> * already initialized<a name="line.272"></a> -<span class="sourceLineNo">273</span> */<a name="line.273"></a> -<span class="sourceLineNo">274</span> private boolean isRunRequired() {<a name="line.274"></a> -<span class="sourceLineNo">275</span> return failedMetaServer != null || !master.getAssignmentManager().isMetaInitialized();<a name="line.275"></a> -<span class="sourceLineNo">276</span> }<a name="line.276"></a> -<span class="sourceLineNo">277</span><a name="line.277"></a> -<span class="sourceLineNo">278</span> /**<a name="line.278"></a> -<span class="sourceLineNo">279</span> * Prepare for execution<a name="line.279"></a> -<span class="sourceLineNo">280</span> */<a name="line.280"></a> -<span class="sourceLineNo">281</span> private void prepare(MasterProcedureEnv env) {<a name="line.281"></a> -<span class="sourceLineNo">282</span> if (master == null) {<a name="line.282"></a> -<span class="sourceLineNo">283</span> master = env.getMasterServices();<a name="line.283"></a> -<span class="sourceLineNo">284</span> Preconditions.checkArgument(master != null);<a name="line.284"></a> -<span class="sourceLineNo">285</span> }<a name="line.285"></a> -<span class="sourceLineNo">286</span> }<a name="line.286"></a> -<span class="sourceLineNo">287</span>}<a name="line.287"></a> +<span class="sourceLineNo">270</span> @Override<a name="line.270"></a> +<span class="sourceLineNo">271</span> protected void completionCleanup(MasterProcedureEnv env) {<a name="line.271"></a> +<span class="sourceLineNo">272</span> ProcedurePrepareLatch.releaseLatch(syncLatch, this);<a name="line.272"></a> +<span class="sourceLineNo">273</span> }<a name="line.273"></a> +<span class="sourceLineNo">274</span><a name="line.274"></a> +<span class="sourceLineNo">275</span> @Override<a name="line.275"></a> +<span class="sourceLineNo">276</span> public TableName getTableName() {<a name="line.276"></a> +<span class="sourceLineNo">277</span> return TableName.META_TABLE_NAME;<a name="line.277"></a> +<span class="sourceLineNo">278</span> }<a name="line.278"></a> +<span class="sourceLineNo">279</span><a name="line.279"></a> +<span class="sourceLineNo">280</span> @Override<a name="line.280"></a> +<span class="sourceLineNo">281</span> public TableOperationType getTableOperationType() {<a name="line.281"></a> +<span class="sourceLineNo">282</span> return TableOperationType.ENABLE;<a name="line.282"></a> +<span class="sourceLineNo">283</span> }<a name="line.283"></a> +<span class="sourceLineNo">284</span><a name="line.284"></a> +<span class="sourceLineNo">285</span> /**<a name="line.285"></a> +<span class="sourceLineNo">286</span> * @return true if failedMetaServer is not null (meta carrying server crashed) or meta is<a name="line.286"></a> +<span class="sourceLineNo">287</span> * already initialized<a name="line.287"></a> +<span class="sourceLineNo">288</span> */<a name="line.288"></a> +<span class="sourceLineNo">289</span> private boolean isRunRequired() {<a name="line.289"></a> +<span class="sourceLineNo">290</span> return failedMetaServer != null || !master.getAssignmentManager().isMetaInitialized();<a name="line.290"></a> +<span class="sourceLineNo">291</span> }<a name="line.291"></a> +<span class="sourceLineNo">292</span><a name="line.292"></a> +<span class="sourceLineNo">293</span> /**<a name="line.293"></a> +<span class="sourceLineNo">294</span> * Prepare for execution<a name="line.294"></a> +<span class="sourceLineNo">295</span> */<a name="line.295"></a> +<span class="sourceLineNo">296</span> private void prepare(MasterProcedureEnv env) {<a name="line.296"></a> +<span class="sourceLineNo">297</span> if (master == null) {<a name="line.297"></a> +<span class="sourceLineNo">298</span> master = env.getMasterServices();<a name="line.298"></a> +<span class="sourceLineNo">299</span> Preconditions.checkArgument(master != null);<a name="line.299"></a> +<span class="sourceLineNo">300</span> }<a name="line.300"></a> +<span class="sourceLineNo">301</span> }<a name="line.301"></a> +<span class="sourceLineNo">302</span>}<a name="line.302"></a>