You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by gi...@apache.org on 2017/04/05 01:50:15 UTC

[01/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 5f3d7e9a2 -> f5caf0f98


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 1761626..2afa043 100644
--- a/replication.html
+++ b/replication.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -320,7 +320,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index cd162f6..be187ac 100644
--- a/resources.html
+++ b/resources.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Other Apache HBase (TM) Resources</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -348,7 +348,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index dabddc7..ef20db2 100644
--- a/source-repository.html
+++ b/source-repository.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Source Repository</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -316,7 +316,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index ecdfeff..29651c1 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase� Sponsors</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -350,7 +350,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index 56d690a..bb425dc 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Supporting Projects</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -537,7 +537,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 72d9eea..524a0c9 100644
--- a/team-list.html
+++ b/team-list.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Team list</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -811,7 +811,7 @@ window.onLoad = init();
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Search.WALSearcher.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Search.WALSearcher.html b/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Search.WALSearcher.html
index 5d817a2..78acafd 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Search.WALSearcher.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Search.WALSearcher.html
@@ -175,7 +175,7 @@ extends org.apache.hadoop.hbase.mapreduce.WALPlayer</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.mapreduce.WALPlayer</h3>
-<code>BULK_OUTPUT_CONF_KEY, TABLE_MAP_KEY, TABLES_KEY</code></li>
+<code>BULK_OUTPUT_CONF_KEY, IGNORE_MISSING_FILES, INPUT_FILES_SEPARATOR_KEY, TABLE_MAP_KEY, TABLES_KEY</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.WALSearcher.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.WALSearcher.html b/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.WALSearcher.html
index bb741ee..dcf10f2 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.WALSearcher.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/IntegrationTestLoadAndVerify.WALSearcher.html
@@ -178,7 +178,7 @@ extends org.apache.hadoop.hbase.mapreduce.WALPlayer</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.mapreduce.WALPlayer</h3>
-<code>BULK_OUTPUT_CONF_KEY, TABLE_MAP_KEY, TABLES_KEY</code></li>
+<code>BULK_OUTPUT_CONF_KEY, IGNORE_MISSING_FILES, INPUT_FILES_SEPARATOR_KEY, TABLE_MAP_KEY, TABLES_KEY</code></li>
 </ul>
 </li>
 </ul>


[15/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
index 05e46b2..12db0bb 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
@@ -28,283 +28,328 @@
 <span class="sourceLineNo">020</span>import java.io.DataInput;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.io.DataOutput;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.EOFException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.ArrayList;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.List;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FileStatus;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileSystem;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.Path;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.io.Writable;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.util.StringUtils;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>@InterfaceAudience.Public<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * exactly one log file.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    private String logFileName;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    private long fileSize;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    private long startTime;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    private long endTime;<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>    /** for serialization */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    public WALSplit() {}<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>    /**<a name="line.74"></a>
-<span class="sourceLineNo">075</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.76"></a>
-<span class="sourceLineNo">077</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.77"></a>
-<span class="sourceLineNo">078</span>     * @param logFileName<a name="line.78"></a>
-<span class="sourceLineNo">079</span>     * @param fileSize<a name="line.79"></a>
-<span class="sourceLineNo">080</span>     * @param startTime<a name="line.80"></a>
-<span class="sourceLineNo">081</span>     * @param endTime<a name="line.81"></a>
-<span class="sourceLineNo">082</span>     */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      this.logFileName = logFileName;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      this.fileSize = fileSize;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      this.startTime = startTime;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      this.endTime = endTime;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    public long getLength() throws IOException, InterruptedException {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      return fileSize;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>    @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return new String[] {};<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public String getLogFileName() {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      return logFileName;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>    public long getStartTime() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      return startTime;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>    public long getEndTime() {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      return endTime;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void readFields(DataInput in) throws IOException {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      logFileName = in.readUTF();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      fileSize = in.readLong();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      startTime = in.readLong();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      endTime = in.readLong();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>    @Override<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    public void write(DataOutput out) throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      out.writeUTF(logFileName);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      out.writeLong(fileSize);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      out.writeLong(startTime);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      out.writeLong(endTime);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>    @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String toString() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * {@link RecordReader} for an {@link WAL} file.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private Reader reader = null;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    Entry currentEntry = new Entry();<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    private long startTime;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private long endTime;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        throws IOException, InterruptedException {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      WALSplit hsplit = (WALSplit)split;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      Path logFile = new Path(hsplit.getLogFileName());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      Configuration conf = context.getConfiguration();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      LOG.info("Opening reader for "+split);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      try {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        this.reader = WALFactory.createReader(logFile.getFileSystem(conf), logFile, conf);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      } catch (EOFException x) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        LOG.info("Ignoring corrupted WAL file: " + logFile<a name="line.156"></a>
-<span class="sourceLineNo">157</span>            + " (This is normal when a RegionServer crashed.)");<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        this.reader = null;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      this.startTime = hsplit.getStartTime();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      this.endTime = hsplit.getEndTime();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      if (reader == null) return false;<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>      Entry temp;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      long i = -1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      do {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        // skip older entries<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        try {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>          temp = reader.next(currentEntry);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>          i++;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        } catch (EOFException x) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.176"></a>
-<span class="sourceLineNo">177</span>              + " (This is normal when a RegionServer crashed.)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          return false;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>        }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      while(temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>      if (temp == null) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        LOG.info("Reached end of file.");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        return false;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      } else if (i &gt; 0) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      if (!res) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        LOG.info("Reached ts: " + temp.getKey().getWriteTime() + " ignoring the rest of the file.");<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      }<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      return res;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return currentEntry.getEdit();<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      // N/A depends on total number of entries, which is unknown<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return 0;<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>    public void close() throws IOException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      LOG.info("Closing reader");<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      if (reader != null) this.reader.close();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * need to support HLogInputFormat.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    @Override<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return currentEntry.getKey();<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      InterruptedException {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
+<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Collections;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.conf.Configuration;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileStatus;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.FileSystem;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.Path;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.AbstractFSWALProvider;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.io.Writable;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.util.StringUtils;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>/**<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  /**<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * exactly one log file.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    private String logFileName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    private long fileSize;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    private long startTime;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    private long endTime;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /** for serialization */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    public WALSplit() {}<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>    /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.78"></a>
+<span class="sourceLineNo">079</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.79"></a>
+<span class="sourceLineNo">080</span>     * @param logFileName<a name="line.80"></a>
+<span class="sourceLineNo">081</span>     * @param fileSize<a name="line.81"></a>
+<span class="sourceLineNo">082</span>     * @param startTime<a name="line.82"></a>
+<span class="sourceLineNo">083</span>     * @param endTime<a name="line.83"></a>
+<span class="sourceLineNo">084</span>     */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      this.logFileName = logFileName;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      this.fileSize = fileSize;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      this.startTime = startTime;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      this.endTime = endTime;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>    @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    public long getLength() throws IOException, InterruptedException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      return fileSize;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>    @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return new String[] {};<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>    public String getLogFileName() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      return logFileName;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public long getStartTime() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      return startTime;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    public long getEndTime() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      return endTime;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>    @Override<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    public void readFields(DataInput in) throws IOException {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      logFileName = in.readUTF();<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      fileSize = in.readLong();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      startTime = in.readLong();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      endTime = in.readLong();<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>    @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void write(DataOutput out) throws IOException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      out.writeUTF(logFileName);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      out.writeLong(fileSize);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      out.writeLong(startTime);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      out.writeLong(endTime);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>    @Override<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    public String toString() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<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>   * {@link RecordReader} for an {@link WAL} file.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    private Reader reader = null;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    Entry currentEntry = new Entry();<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    private long startTime;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    private long endTime;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    private Configuration conf;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    private Path logFile;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    private long currentPos;<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        throws IOException, InterruptedException {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      WALSplit hsplit = (WALSplit)split;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      logFile = new Path(hsplit.getLogFileName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      conf = context.getConfiguration();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      LOG.info("Opening reader for "+split);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      openReader(logFile);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      this.startTime = hsplit.getStartTime();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      this.endTime = hsplit.getEndTime();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>    private void openReader(Path path) throws IOException<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      closeReader();<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      reader = AbstractFSWALProvider.openReader(path, conf);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      seek();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      setCurrentPath(path);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>    private void setCurrentPath(Path path) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      this.logFile = path;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>    private void closeReader() throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      if (reader != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        reader.close();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        reader = null;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>    private void seek() throws IOException {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (currentPos != 0) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        reader.seek(currentPos);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>    @Override<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      if (reader == null) return false;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      this.currentPos = reader.getPosition();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      Entry temp;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      long i = -1;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      try {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        do {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>          // skip older entries<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          try {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>            temp = reader.next(currentEntry);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            i++;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          } catch (EOFException x) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>            LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.201"></a>
+<span class="sourceLineNo">202</span>                + " (This is normal when a RegionServer crashed.)");<a name="line.202"></a>
+<span class="sourceLineNo">203</span>            return false;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>          }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        } while (temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>        if (temp == null) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>          if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.208"></a>
+<span class="sourceLineNo">209</span>          LOG.info("Reached end of file.");<a name="line.209"></a>
+<span class="sourceLineNo">210</span>          return false;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        } else if (i &gt; 0) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>          LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        if (!res) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>          LOG.info("Reached ts: " + temp.getKey().getWriteTime()<a name="line.216"></a>
+<span class="sourceLineNo">217</span>              + " ignoring the rest of the file.");<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        return res;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      } catch (IOException e) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        Path archivedLog = AbstractFSWALProvider.getArchivedLogPath(logFile, conf);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        if (logFile != archivedLog) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          openReader(archivedLog);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          // Try call again in recursion<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          return nextKeyValue();<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        } else {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          throw e;<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>    }<a name="line.230"></a>
 <span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * implementation shared with deprecated HLogInputFormat<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    Configuration conf = context.getConfiguration();<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    for(Path inputPath: inputPaths){<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      allFiles.addAll(files);<a name="line.246"></a>
+<span class="sourceLineNo">232</span>    @Override<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      return currentEntry.getEdit();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>    @Override<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      // N/A depends on total number of entries, which is unknown<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      return 0;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public void close() throws IOException {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      LOG.info("Closing reader");<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      if (reader != null) this.reader.close();<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    for (FileStatus file : allFiles) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    return splits;<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>  private Path[] getInputPaths(Configuration conf) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    String inpDirs = conf.get("mapreduce.input.fileinputformat.inputdir");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    return StringUtils.stringToPath(inpDirs.split(","));<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>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    while (iter.hasNext()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      LocatedFileStatus file = iter.next();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      if (file.isDirectory()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        // recurse into sub directories<a name="line.270"></a>
-<span class="sourceLineNo">271</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      } else {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        String name = file.getPath().toString();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        int idx = name.lastIndexOf('.');<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        if (idx &gt; 0) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          try {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            if (fileStartTime &lt;= endTime) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              LOG.info("Found: " + file);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>              result.add(file);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          } catch (NumberFormatException x) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>            idx = 0;<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>        if (idx == 0) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.287"></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>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * need to support HLogInputFormat.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    @Override<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      return currentEntry.getKey();<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><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  @Override<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      InterruptedException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * implementation shared with deprecated HLogInputFormat<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      throws IOException, InterruptedException {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    Configuration conf = context.getConfiguration();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    boolean ignoreMissing = conf.getBoolean(WALPlayer.IGNORE_MISSING_FILES, false);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    for(Path inputPath: inputPaths){<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      try {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        allFiles.addAll(files);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      } catch (FileNotFoundException e) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        if (ignoreMissing) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>          LOG.warn("File "+ inputPath +" is missing. Skipping it.");<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          continue;<a name="line.287"></a>
 <span class="sourceLineNo">288</span>        }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    return result;<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>  @Override<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    return new WALKeyRecordReader();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>}<a name="line.299"></a>
+<span class="sourceLineNo">289</span>        throw e;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    for (FileStatus file : allFiles) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    return splits;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>  private Path[] getInputPaths(Configuration conf) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    String inpDirs = conf.get(FileInputFormat.INPUT_DIR);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    return StringUtils.stringToPath(<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      inpDirs.split(conf.get(WALPlayer.INPUT_FILES_SEPARATOR_KEY, ",")));<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      throws IOException {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    while (iter.hasNext()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      LocatedFileStatus file = iter.next();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      if (file.isDirectory()) {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        // recurse into sub directories<a name="line.315"></a>
+<span class="sourceLineNo">316</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      } else {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        String name = file.getPath().toString();<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        int idx = name.lastIndexOf('.');<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        if (idx &gt; 0) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>          try {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.322"></a>
+<span class="sourceLineNo">323</span>            if (fileStartTime &lt;= endTime) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              LOG.info("Found: " + file);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>              result.add(file);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>            }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>          } catch (NumberFormatException x) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            idx = 0;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>          }<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        if (idx == 0) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      }<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    return result;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  @Override<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    return new WALKeyRecordReader();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>}<a name="line.344"></a>
 
 
 


[22/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
index bff248e..7c76f46 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
@@ -66,7 +66,7 @@
 <span class="sourceLineNo">058</span>/**<a name="line.58"></a>
 <span class="sourceLineNo">059</span> * A tool to replay WAL files as a M/R job.<a name="line.59"></a>
 <span class="sourceLineNo">060</span> * The WAL can be replayed for a set of tables or all tables,<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * and a timerange can be provided (in milliseconds).<a name="line.61"></a>
+<span class="sourceLineNo">061</span> * and a time range can be provided (in milliseconds).<a name="line.61"></a>
 <span class="sourceLineNo">062</span> * The WAL is filtered to the passed set of tables and  the output<a name="line.62"></a>
 <span class="sourceLineNo">063</span> * can optionally be mapped to another set of tables.<a name="line.63"></a>
 <span class="sourceLineNo">064</span> *<a name="line.64"></a>
@@ -81,313 +81,317 @@
 <span class="sourceLineNo">073</span>  public final static String BULK_OUTPUT_CONF_KEY = "wal.bulk.output";<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  public final static String TABLES_KEY = "wal.input.tables";<a name="line.74"></a>
 <span class="sourceLineNo">075</span>  public final static String TABLE_MAP_KEY = "wal.input.tablesmap";<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  // This relies on Hadoop Configuration to handle warning about deprecated configs and<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  // to set the correct non-deprecated configs when an old one shows up.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  static {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    Configuration.addDeprecation("hlog.bulk.output", BULK_OUTPUT_CONF_KEY);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Configuration.addDeprecation("hlog.input.tables", TABLES_KEY);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    Configuration.addDeprecation("hlog.input.tablesmap", TABLE_MAP_KEY);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final static String JOB_NAME_CONF_KEY = "mapreduce.job.name";<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>  public WALPlayer(){<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
+<span class="sourceLineNo">076</span>  public final static String INPUT_FILES_SEPARATOR_KEY = "wal.input.separator";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public final static String IGNORE_MISSING_FILES = "wal.input.ignore.missing.files";<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  // This relies on Hadoop Configuration to handle warning about deprecated configs and<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  // to set the correct non-deprecated configs when an old one shows up.<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  static {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    Configuration.addDeprecation("hlog.bulk.output", BULK_OUTPUT_CONF_KEY);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    Configuration.addDeprecation("hlog.input.tables", TABLES_KEY);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    Configuration.addDeprecation("hlog.input.tablesmap", TABLE_MAP_KEY);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final static String JOB_NAME_CONF_KEY = "mapreduce.job.name";<a name="line.88"></a>
 <span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  protected WALPlayer(final Configuration c) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    super(c);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * A mapper that just writes out KeyValues.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  static class WALKeyValueMapper<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private byte[] table;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>    @Override<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    public void map(WALKey key, WALEdit value,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      Context context)<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    throws IOException {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      try {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>        // skip all other tables<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>          for (Cell cell : value.getCells()) {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>            if (WALEdit.isMetaEditFamily(kv)) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>              continue;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>            }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      } catch (InterruptedException e) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        e.printStackTrace();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      }<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>    @Override<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public void setup(Context context) throws IOException {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (tables == null || tables.length != 1) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      table = Bytes.toBytes(tables[0]);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  /**<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * a running HBase instance.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  protected static class WALMapper<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;&gt;();<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>    @Override<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    throws IOException {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>          TableName targetTable = tables.isEmpty() ?<a name="line.147"></a>
-<span class="sourceLineNo">148</span>                key.getTablename() :<a name="line.148"></a>
-<span class="sourceLineNo">149</span>                tables.get(key.getTablename());<a name="line.149"></a>
-<span class="sourceLineNo">150</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          Put put = null;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>          Delete del = null;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          Cell lastCell = null;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>          for (Cell cell : value.getCells()) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>            // filtering WAL meta entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>              continue;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>            }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>            // Allow a subclass filter out this cell.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>            if (filter(context, cell)) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.162"></a>
-<span class="sourceLineNo">163</span>              // multiple rows (HBASE-5229).<a name="line.163"></a>
-<span class="sourceLineNo">164</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.164"></a>
-<span class="sourceLineNo">165</span>              // operation before writing to the context.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.166"></a>
-<span class="sourceLineNo">167</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>                // row or type changed, write out aggregate KVs.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>                if (put != null) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>                  context.write(tableOut, put);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>                }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                if (del != null) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>                  context.write(tableOut, del);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>                }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>                if (CellUtil.isDelete(cell)) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.176"></a>
-<span class="sourceLineNo">177</span>                } else {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>                  put = new Put(CellUtil.cloneRow(cell));<a name="line.178"></a>
+<span class="sourceLineNo">090</span>  public WALPlayer(){<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  protected WALPlayer(final Configuration c) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    super(c);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * A mapper that just writes out KeyValues.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  static class WALKeyValueMapper<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    private byte[] table;<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>    @Override<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    public void map(WALKey key, WALEdit value,<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      Context context)<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    throws IOException {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      try {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        // skip all other tables<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>          for (Cell cell : value.getCells()) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>            if (WALEdit.isMetaEditFamily(kv)) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>              continue;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>            }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        }<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      } catch (InterruptedException e) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        e.printStackTrace();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    @Override<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    public void setup(Context context) throws IOException {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      if (tables == null || tables.length != 1) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      table = Bytes.toBytes(tables[0]);<a name="line.133"></a>
+<span class="sourceLineNo">134</span><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><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * a running HBase instance.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  protected static class WALMapper<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;&gt;();<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>    @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    throws IOException {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      try {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>          TableName targetTable = tables.isEmpty() ?<a name="line.152"></a>
+<span class="sourceLineNo">153</span>                key.getTablename() :<a name="line.153"></a>
+<span class="sourceLineNo">154</span>                tables.get(key.getTablename());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          Put put = null;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>          Delete del = null;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>          Cell lastCell = null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          for (Cell cell : value.getCells()) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>            // filtering WAL meta entries<a name="line.160"></a>
+<span class="sourceLineNo">161</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>              continue;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>            }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>            // Allow a subclass filter out this cell.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>            if (filter(context, cell)) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.167"></a>
+<span class="sourceLineNo">168</span>              // multiple rows (HBASE-5229).<a name="line.168"></a>
+<span class="sourceLineNo">169</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.169"></a>
+<span class="sourceLineNo">170</span>              // operation before writing to the context.<a name="line.170"></a>
+<span class="sourceLineNo">171</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.171"></a>
+<span class="sourceLineNo">172</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                // row or type changed, write out aggregate KVs.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>                if (put != null) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>                  context.write(tableOut, put);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>                }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>                if (del != null) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>                  context.write(tableOut, del);<a name="line.178"></a>
 <span class="sourceLineNo">179</span>                }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>              }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>              if (CellUtil.isDelete(cell)) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>                del.addDeleteMarker(cell);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>              } else {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>                put.add(cell);<a name="line.184"></a>
+<span class="sourceLineNo">180</span>                if (CellUtil.isDelete(cell)) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>                } else {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>                  put = new Put(CellUtil.cloneRow(cell));<a name="line.183"></a>
+<span class="sourceLineNo">184</span>                }<a name="line.184"></a>
 <span class="sourceLineNo">185</span>              }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>            }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>            lastCell = cell;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>          }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          // write residual KVs<a name="line.189"></a>
-<span class="sourceLineNo">190</span>          if (put != null) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>            context.write(tableOut, put);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>          }<a name="line.192"></a>
-<span class="sourceLineNo">193</span>          if (del != null) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>            context.write(tableOut, del);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>          }<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      } catch (InterruptedException e) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        e.printStackTrace();<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return true;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    @Override<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    protected void<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        cleanup(Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt;.Context context)<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            throws IOException, InterruptedException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      super.cleanup(context);<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>    public void setup(Context context) throws IOException {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      if (tableMap == null) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        tableMap = tablesToUse;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      if (tablesToUse == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        // Then user wants all tables.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      } else if (tablesToUse.length != tableMap.length) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        throw new IOException("Incorrect table mapping specified .");<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      int i = 0;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      if (tablesToUse != null) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        for (String table : tablesToUse) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>          tables.put(TableName.valueOf(table),<a name="line.229"></a>
-<span class="sourceLineNo">230</span>            TableName.valueOf(tableMap[i++]));<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    String val = conf.get(option);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    if (null == val) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    long ms;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    try {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      // first try to parse in user friendly form<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    } catch (ParseException pe) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      try {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        // then see if just a number of ms's was specified<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        ms = Long.parseLong(val);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      } catch (NumberFormatException nfe) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        throw new IOException(option<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            + "or as number of milliseconds");<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>    conf.setLong(option, ms);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  /**<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * Sets up the actual job.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   *<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @param args  The command line parameters.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   * @return The newly created job.<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @throws IOException When setting up the job fails.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    Configuration conf = getConf();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    String inputDirs = args[0];<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    String[] tables = args[1].split(",");<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    String[] tableMap;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    if (args.length &gt; 2) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      tableMap = args[2].split(",");<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      if (tableMap.length != tables.length) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // if not mapping is specified map each table to itself<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      tableMap = tables;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + System.currentTimeMillis()));<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    job.setJarByClass(WALPlayer.class);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>    FileInputFormat.addInputPaths(job, inputDirs);<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (hfileOutPath != null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      LOG.debug("add incremental job :" + hfileOutPath + " from " + inputDirs);<a name="line.293"></a>
+<span class="sourceLineNo">186</span>              if (CellUtil.isDelete(cell)) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>                del.addDeleteMarker(cell);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>              } else {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>                put.add(cell);<a name="line.189"></a>
+<span class="sourceLineNo">190</span>              }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>            lastCell = cell;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>          }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>          // write residual KVs<a name="line.194"></a>
+<span class="sourceLineNo">195</span>          if (put != null) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>            context.write(tableOut, put);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>          if (del != null) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            context.write(tableOut, del);<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      } catch (InterruptedException e) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>        e.printStackTrace();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    }<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return true;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>    @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    protected void<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        cleanup(Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt;.Context context)<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            throws IOException, InterruptedException {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      super.cleanup(context);<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>    public void setup(Context context) throws IOException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      if (tableMap == null) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        tableMap = tablesToUse;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      }<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      if (tablesToUse == null) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        // Then user wants all tables.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      } else if (tablesToUse.length != tableMap.length) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.228"></a>
+<span class="sourceLineNo">229</span>        throw new IOException("Incorrect table mapping specified .");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      int i = 0;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      if (tablesToUse != null) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>        for (String table : tablesToUse) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>          tables.put(TableName.valueOf(table),<a name="line.234"></a>
+<span class="sourceLineNo">235</span>            TableName.valueOf(tableMap[i++]));<a name="line.235"></a>
+<span class="sourceLineNo">236</span>        }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      }<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    String val = conf.get(option);<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (null == val) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      return;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    long ms;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    try {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      // first try to parse in user friendly form<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    } catch (ParseException pe) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      try {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        // then see if just a number of ms's was specified<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        ms = Long.parseLong(val);<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      } catch (NumberFormatException nfe) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        throw new IOException(option<a name="line.255"></a>
+<span class="sourceLineNo">256</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.256"></a>
+<span class="sourceLineNo">257</span>            + "or as number of milliseconds");<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>    conf.setLong(option, ms);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * Sets up the actual job.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   *<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * @param args  The command line parameters.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * @return The newly created job.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @throws IOException When setting up the job fails.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    Configuration conf = getConf();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    String inputDirs = args[0];<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    String[] tables = args[1].split(",");<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    String[] tableMap;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    if (args.length &gt; 2) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      tableMap = args[2].split(",");<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      if (tableMap.length != tables.length) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    } else {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      // if not mapping is specified map each table to itself<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      tableMap = tables;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    conf.set(FileInputFormat.INPUT_DIR, inputDirs);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + System.currentTimeMillis()));<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    job.setJarByClass(WALPlayer.class);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>      // the bulk HFile case<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      if (tables.length != 1) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      Path outputDir = new Path(hfileOutPath);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          Table table = conn.getTable(tableName);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      }<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          com.google.common.base.Preconditions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    } else {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // output to live cluster<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      job.setMapperClass(WALMapper.class);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      TableMapReduceUtil.initCredentials(job);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      // No reducers.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      job.setNumReduceTasks(0);<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    try {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    } catch (Exception e) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    return job;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * Print usage<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @param errorMsg Error message.  Can be null.<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  private void usage(final String errorMsg) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      System.err.println("ERROR: " + errorMsg);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    System.err.println("(Careful, even hbase:meta entries will be imported"+<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      " in that case.)");<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    System.err.println("For performance also consider the following options:\n"<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      + "  -Dmapreduce.map.speculative=false\n"<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      + "  -Dmapreduce.reduce.speculative=false");<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * Main entry point.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   *<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @param args  The command line parameters.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @throws Exception When running the job fails.<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  public static void main(String[] args) throws Exception {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    System.exit(ret);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  public int run(String[] args) throws Exception {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    if (args.length &lt; 2) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      usage("Wrong number of arguments: " + args.length);<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      System.exit(-1);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    Job job = createSubmittableJob(args);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>}<a name="line.382"></a>
+<span class="sourceLineNo">295</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    if (hfileOutPath != null) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      LOG.debug("add incremental job :" + hfileOutPath + " from " + inputDirs);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>      // the bulk HFile case<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      if (tables.length != 1) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      }<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      Path outputDir = new Path(hfileOutPath);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.309"></a>
+<span class="sourceLineNo">310</span>          Table table = conn.getTable(tableName);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      }<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.314"></a>
+<span class="sourceLineNo">315</span>          com.google.common.base.Preconditions.class);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    } else {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      // output to live cluster<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      job.setMapperClass(WALMapper.class);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      TableMapReduceUtil.initCredentials(job);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      // No reducers.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      job.setNumReduceTasks(0);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    try {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    } catch (Exception e) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    return job;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Print usage<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param errorMsg Error message.  Can be null.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  private void usage(final String errorMsg) {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      System.err.println("ERROR: " + errorMsg);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    System.err.println("(Careful, even hbase:meta entries will be imported"+<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      " in that case.)");<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    System.err.println("For performance also consider the following options:\n"<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      + "  -Dmapreduce.map.speculative=false\n"<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      + "  -Dmapreduce.reduce.speculative=false");<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Main entry point.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   *<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * @param args  The command line parameters.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * @throws Exception When running the job fails.<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  public static void main(String[] args) throws Exception {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    System.exit(ret);<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public int run(String[] args) throws Exception {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (args.length &lt; 2) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      usage("Wrong number of arguments: " + args.length);<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      System.exit(-1);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    Job job = createSubmittableJob(args);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>}<a name="line.386"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index cac2314..9d0f569 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -323,7 +323,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 


[13/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
index 05e46b2..12db0bb 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
@@ -28,283 +28,328 @@
 <span class="sourceLineNo">020</span>import java.io.DataInput;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.io.DataOutput;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.EOFException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.ArrayList;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.List;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FileStatus;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileSystem;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.Path;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.io.Writable;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.util.StringUtils;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>@InterfaceAudience.Public<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * exactly one log file.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    private String logFileName;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    private long fileSize;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    private long startTime;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    private long endTime;<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>    /** for serialization */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    public WALSplit() {}<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>    /**<a name="line.74"></a>
-<span class="sourceLineNo">075</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.76"></a>
-<span class="sourceLineNo">077</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.77"></a>
-<span class="sourceLineNo">078</span>     * @param logFileName<a name="line.78"></a>
-<span class="sourceLineNo">079</span>     * @param fileSize<a name="line.79"></a>
-<span class="sourceLineNo">080</span>     * @param startTime<a name="line.80"></a>
-<span class="sourceLineNo">081</span>     * @param endTime<a name="line.81"></a>
-<span class="sourceLineNo">082</span>     */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      this.logFileName = logFileName;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      this.fileSize = fileSize;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      this.startTime = startTime;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      this.endTime = endTime;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    public long getLength() throws IOException, InterruptedException {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      return fileSize;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>    @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return new String[] {};<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public String getLogFileName() {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      return logFileName;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>    public long getStartTime() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      return startTime;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>    public long getEndTime() {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      return endTime;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void readFields(DataInput in) throws IOException {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      logFileName = in.readUTF();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      fileSize = in.readLong();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      startTime = in.readLong();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      endTime = in.readLong();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>    @Override<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    public void write(DataOutput out) throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      out.writeUTF(logFileName);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      out.writeLong(fileSize);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      out.writeLong(startTime);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      out.writeLong(endTime);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>    @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String toString() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * {@link RecordReader} for an {@link WAL} file.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private Reader reader = null;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    Entry currentEntry = new Entry();<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    private long startTime;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private long endTime;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        throws IOException, InterruptedException {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      WALSplit hsplit = (WALSplit)split;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      Path logFile = new Path(hsplit.getLogFileName());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      Configuration conf = context.getConfiguration();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      LOG.info("Opening reader for "+split);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      try {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        this.reader = WALFactory.createReader(logFile.getFileSystem(conf), logFile, conf);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      } catch (EOFException x) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        LOG.info("Ignoring corrupted WAL file: " + logFile<a name="line.156"></a>
-<span class="sourceLineNo">157</span>            + " (This is normal when a RegionServer crashed.)");<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        this.reader = null;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      this.startTime = hsplit.getStartTime();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      this.endTime = hsplit.getEndTime();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      if (reader == null) return false;<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>      Entry temp;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      long i = -1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      do {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        // skip older entries<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        try {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>          temp = reader.next(currentEntry);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>          i++;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        } catch (EOFException x) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.176"></a>
-<span class="sourceLineNo">177</span>              + " (This is normal when a RegionServer crashed.)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          return false;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>        }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      while(temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>      if (temp == null) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        LOG.info("Reached end of file.");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        return false;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      } else if (i &gt; 0) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      if (!res) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        LOG.info("Reached ts: " + temp.getKey().getWriteTime() + " ignoring the rest of the file.");<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      }<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      return res;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return currentEntry.getEdit();<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      // N/A depends on total number of entries, which is unknown<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return 0;<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>    public void close() throws IOException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      LOG.info("Closing reader");<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      if (reader != null) this.reader.close();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * need to support HLogInputFormat.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    @Override<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return currentEntry.getKey();<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      InterruptedException {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
+<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Collections;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.conf.Configuration;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileStatus;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.FileSystem;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.Path;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.AbstractFSWALProvider;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.io.Writable;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.util.StringUtils;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>/**<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  /**<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * exactly one log file.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    private String logFileName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    private long fileSize;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    private long startTime;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    private long endTime;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /** for serialization */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    public WALSplit() {}<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>    /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.78"></a>
+<span class="sourceLineNo">079</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.79"></a>
+<span class="sourceLineNo">080</span>     * @param logFileName<a name="line.80"></a>
+<span class="sourceLineNo">081</span>     * @param fileSize<a name="line.81"></a>
+<span class="sourceLineNo">082</span>     * @param startTime<a name="line.82"></a>
+<span class="sourceLineNo">083</span>     * @param endTime<a name="line.83"></a>
+<span class="sourceLineNo">084</span>     */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      this.logFileName = logFileName;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      this.fileSize = fileSize;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      this.startTime = startTime;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      this.endTime = endTime;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>    @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    public long getLength() throws IOException, InterruptedException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      return fileSize;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>    @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return new String[] {};<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>    public String getLogFileName() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      return logFileName;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public long getStartTime() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      return startTime;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    public long getEndTime() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      return endTime;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>    @Override<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    public void readFields(DataInput in) throws IOException {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      logFileName = in.readUTF();<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      fileSize = in.readLong();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      startTime = in.readLong();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      endTime = in.readLong();<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>    @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void write(DataOutput out) throws IOException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      out.writeUTF(logFileName);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      out.writeLong(fileSize);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      out.writeLong(startTime);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      out.writeLong(endTime);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>    @Override<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    public String toString() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<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>   * {@link RecordReader} for an {@link WAL} file.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    private Reader reader = null;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    Entry currentEntry = new Entry();<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    private long startTime;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    private long endTime;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    private Configuration conf;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    private Path logFile;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    private long currentPos;<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        throws IOException, InterruptedException {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      WALSplit hsplit = (WALSplit)split;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      logFile = new Path(hsplit.getLogFileName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      conf = context.getConfiguration();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      LOG.info("Opening reader for "+split);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      openReader(logFile);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      this.startTime = hsplit.getStartTime();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      this.endTime = hsplit.getEndTime();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>    private void openReader(Path path) throws IOException<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      closeReader();<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      reader = AbstractFSWALProvider.openReader(path, conf);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      seek();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      setCurrentPath(path);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>    private void setCurrentPath(Path path) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      this.logFile = path;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>    private void closeReader() throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      if (reader != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        reader.close();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        reader = null;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>    private void seek() throws IOException {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (currentPos != 0) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        reader.seek(currentPos);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>    @Override<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      if (reader == null) return false;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      this.currentPos = reader.getPosition();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      Entry temp;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      long i = -1;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      try {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        do {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>          // skip older entries<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          try {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>            temp = reader.next(currentEntry);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            i++;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          } catch (EOFException x) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>            LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.201"></a>
+<span class="sourceLineNo">202</span>                + " (This is normal when a RegionServer crashed.)");<a name="line.202"></a>
+<span class="sourceLineNo">203</span>            return false;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>          }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        } while (temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>        if (temp == null) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>          if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.208"></a>
+<span class="sourceLineNo">209</span>          LOG.info("Reached end of file.");<a name="line.209"></a>
+<span class="sourceLineNo">210</span>          return false;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        } else if (i &gt; 0) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>          LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        if (!res) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>          LOG.info("Reached ts: " + temp.getKey().getWriteTime()<a name="line.216"></a>
+<span class="sourceLineNo">217</span>              + " ignoring the rest of the file.");<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        return res;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      } catch (IOException e) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        Path archivedLog = AbstractFSWALProvider.getArchivedLogPath(logFile, conf);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        if (logFile != archivedLog) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          openReader(archivedLog);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          // Try call again in recursion<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          return nextKeyValue();<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        } else {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          throw e;<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>    }<a name="line.230"></a>
 <span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * implementation shared with deprecated HLogInputFormat<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    Configuration conf = context.getConfiguration();<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    for(Path inputPath: inputPaths){<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      allFiles.addAll(files);<a name="line.246"></a>
+<span class="sourceLineNo">232</span>    @Override<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      return currentEntry.getEdit();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>    @Override<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      // N/A depends on total number of entries, which is unknown<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      return 0;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public void close() throws IOException {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      LOG.info("Closing reader");<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      if (reader != null) this.reader.close();<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    for (FileStatus file : allFiles) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    return splits;<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>  private Path[] getInputPaths(Configuration conf) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    String inpDirs = conf.get("mapreduce.input.fileinputformat.inputdir");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    return StringUtils.stringToPath(inpDirs.split(","));<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>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    while (iter.hasNext()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      LocatedFileStatus file = iter.next();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      if (file.isDirectory()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        // recurse into sub directories<a name="line.270"></a>
-<span class="sourceLineNo">271</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      } else {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        String name = file.getPath().toString();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        int idx = name.lastIndexOf('.');<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        if (idx &gt; 0) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          try {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            if (fileStartTime &lt;= endTime) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              LOG.info("Found: " + file);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>              result.add(file);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          } catch (NumberFormatException x) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>            idx = 0;<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>        if (idx == 0) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.287"></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>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * need to support HLogInputFormat.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    @Override<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      return currentEntry.getKey();<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><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  @Override<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      InterruptedException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * implementation shared with deprecated HLogInputFormat<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      throws IOException, InterruptedException {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    Configuration conf = context.getConfiguration();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    boolean ignoreMissing = conf.getBoolean(WALPlayer.IGNORE_MISSING_FILES, false);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    for(Path inputPath: inputPaths){<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      try {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        allFiles.addAll(files);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      } catch (FileNotFoundException e) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        if (ignoreMissing) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>          LOG.warn("File "+ inputPath +" is missing. Skipping it.");<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          continue;<a name="line.287"></a>
 <span class="sourceLineNo">288</span>        }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    return result;<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>  @Override<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    return new WALKeyRecordReader();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>}<a name="line.299"></a>
+<span class="sourceLineNo">289</span>        throw e;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    for (FileStatus file : allFiles) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    return splits;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>  private Path[] getInputPaths(Configuration conf) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    String inpDirs = conf.get(FileInputFormat.INPUT_DIR);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    return StringUtils.stringToPath(<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      inpDirs.split(conf.get(WALPlayer.INPUT_FILES_SEPARATOR_KEY, ",")));<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      throws IOException {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    while (iter.hasNext()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      LocatedFileStatus file = iter.next();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      if (file.isDirectory()) {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        // recurse into sub directories<a name="line.315"></a>
+<span class="sourceLineNo">316</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      } else {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        String name = file.getPath().toString();<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        int idx = name.lastIndexOf('.');<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        if (idx &gt; 0) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>          try {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.322"></a>
+<span class="sourceLineNo">323</span>            if (fileStartTime &lt;= endTime) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              LOG.info("Found: " + file);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>              result.add(file);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>            }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>          } catch (NumberFormatException x) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            idx = 0;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>          }<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        if (idx == 0) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      }<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    return result;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  @Override<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    return new WALKeyRecordReader();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>}<a name="line.344"></a>
 
 
 


[19/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
index 0b23f30..c867542 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
@@ -89,11 +89,11 @@
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Stable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Unstable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Unstable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Unstable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Unstable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
-<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
index 13aed35..2ce743e 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/Connection.html
@@ -867,11 +867,9 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;</code></td>
-<td class="colLast"><span class="typeNameLabel">IncrementalBackupManager.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html#getIncrBackupLogFileList-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.backup.BackupInfo-">getIncrBackupLogFileList</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
-                        <a href="../../../../../../org/apache/hadoop/hbase/backup/BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;backupInfo)</code>
-<div class="block">Obtain the list of logs that need to be copied out for this incremental backup.</div>
-</td>
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">IncrementalTableBackupClient.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#tableExists-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Connection-">tableExists</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+           <a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -971,6 +969,15 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#createAndRestoreTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.Path-boolean-java.lang.String-">createAndRestoreTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                     <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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;newTableName,
+                     org.apache.hadoop.fs.Path&nbsp;tableBackupPath,
+                     boolean&nbsp;truncateIfExists,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lastIncrBackupId)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#fullRestoreTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.TableName-boolean-java.lang.String-">fullRestoreTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                 org.apache.hadoop.fs.Path&nbsp;tableBackupPath,
@@ -979,7 +986,7 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
                 boolean&nbsp;truncateIfExists,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lastIncrBackupId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#incrementalRestoreTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path:A-org.apache.hadoop.hbase.TableName:A-org.apache.hadoop.hbase.TableName:A-java.lang.String-">incrementalRestoreTable</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                        org.apache.hadoop.fs.Path&nbsp;tableBackupPath,
@@ -990,20 +997,11 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">During incremental backup operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) void</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#modifyTableSync-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.HTableDescriptor-">modifyTableSync</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                <a href="../../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a>&nbsp;desc)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#restoreTableAndCreate-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.Path-boolean-java.lang.String-">restoreTableAndCreate</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
-                     <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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;newTableName,
-                     org.apache.hadoop.fs.Path&nbsp;tableBackupPath,
-                     boolean&nbsp;truncateIfExists,
-                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lastIncrBackupId)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
index 67e9472..2c63e37 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -514,25 +514,25 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactionState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactionState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Scan.ReadType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Scan.ReadType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Durability.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Durability</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">HBaseAdmin.ReplicationState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">IsolationLevel</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncRequestFutureImpl.Retry</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/MobCompactPartitionPolicy.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MobCompactPartitionPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RegionLocateType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AbstractResponse.ResponseType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AbstractResponse.ResponseType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.ReplicationState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">HBaseAdmin.ReplicationState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">SnapshotType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcessTask.SubmittedRows.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncProcessTask.SubmittedRows</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Consistency.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">Consistency</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanResumerState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">CompactType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/RequestController.ReturnCode.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">RequestController.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/ScannerCallable.MoreResults.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">ScannerCallable.MoreResults</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
index 927b774..f130a92 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -175,13 +175,13 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/BitComparator.BitwiseOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">BitComparator.BitwiseOp</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterWrapper.FilterRowRetCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterWrapper.FilterRowRetCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.SatisfiesCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/Filter.ReturnCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FilterList.Operator.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FilterList.Operator</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">RegexStringComparator.EngineType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index 81941a2..c2fe66f 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -273,11 +273,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
index 8ce0bfa..6275773 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -326,9 +326,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferCallBeforeInitHandler.BufferCallAction.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">BufferCallBeforeInitHandler.BufferCallAction</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
index 0ab9a33..f18f607 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.219">WALInputFormat.WALKeyRecordReader</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.254">WALInputFormat.WALKeyRecordReader</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALRecordReader</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&gt;</pre>
 <div class="block">handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer
  need to support HLogInputFormat.</div>
@@ -220,7 +220,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALKeyRecordReader</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html#line.219">WALKeyRecordReader</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html#line.254">WALKeyRecordReader</a>()</pre>
 </li>
 </ul>
 </li>
@@ -237,7 +237,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getCurrentKey</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html#line.221">getCurrentKey</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALKeyRecordReader.html#line.256">getCurrentKey</a>()
                      throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
index e8c4e78..cc6f6b5 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -126,7 +126,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.139">WALInputFormat.WALRecordReader</a>&lt;K extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&gt;
+<pre>abstract static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.141">WALInputFormat.WALRecordReader</a>&lt;K extends <a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&gt;
 extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&gt;</pre>
 <div class="block"><code>RecordReader</code> for an <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a> file.
  Implementation shared with deprecated HLogInputFormat.</div>
@@ -149,18 +149,30 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#conf">conf</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Entry.html" title="class in org.apache.hadoop.hbase.wal">WAL.Entry</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#currentEntry">currentEntry</a></span></code>&nbsp;</td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#currentPos">currentPos</a></span></code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#endTime">endTime</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#logFile">logFile</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#reader">reader</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#startTime">startTime</a></span></code>&nbsp;</td>
 </tr>
@@ -201,22 +213,38 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#close--">close</a></span>()</code>&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#closeReader--">closeReader</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#getCurrentValue--">getCurrentValue</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>float</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#getProgress--">getProgress</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#initialize-org.apache.hadoop.mapreduce.InputSplit-org.apache.hadoop.mapreduce.TaskAttemptContext-">initialize</a></span>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
           org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)</code>&nbsp;</td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#nextKeyValue--">nextKeyValue</a></span>()</code>&nbsp;</td>
 </tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#openReader-org.apache.hadoop.fs.Path-">openReader</a></span>(org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#seek--">seek</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#setCurrentPath-org.apache.hadoop.fs.Path-">setCurrentPath</a></span>(org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.mapreduce.RecordReader">
@@ -252,7 +280,7 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <ul class="blockList">
 <li class="blockList">
 <h4>reader</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.140">reader</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.142">reader</a></pre>
 </li>
 </ul>
 <a name="currentEntry">
@@ -261,7 +289,7 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <ul class="blockList">
 <li class="blockList">
 <h4>currentEntry</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/mapreduce/WALInputFormat.WALRecordReader.html#line.142">currentEntry</a></pre>
+<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/mapreduce/WALInputFormat.WALRecordReader.html#line.144">currentEntry</a></pre>
 </li>
 </ul>
 <a name="startTime">
@@ -270,16 +298,43 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <ul class="blockList">
 <li class="blockList">
 <h4>startTime</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.143">startTime</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.145">startTime</a></pre>
 </li>
 </ul>
 <a name="endTime">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>endTime</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.144">endTime</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.146">endTime</a></pre>
+</li>
+</ul>
+<a name="conf">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>conf</h4>
+<pre>private&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.147">conf</a></pre>
+</li>
+</ul>
+<a name="logFile">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>logFile</h4>
+<pre>private&nbsp;org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.148">logFile</a></pre>
+</li>
+</ul>
+<a name="currentPos">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>currentPos</h4>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.149">currentPos</a></pre>
 </li>
 </ul>
 </li>
@@ -296,7 +351,7 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALRecordReader</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.139">WALRecordReader</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.141">WALRecordReader</a>()</pre>
 </li>
 </ul>
 </li>
@@ -313,7 +368,7 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <ul class="blockList">
 <li class="blockList">
 <h4>initialize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.147">initialize</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.152">initialize</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
                        org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)
                 throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
@@ -326,13 +381,64 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 </dl>
 </li>
 </ul>
+<a name="openReader-org.apache.hadoop.fs.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>openReader</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.163">openReader</a>(org.apache.hadoop.fs.Path&nbsp;path)
+                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="setCurrentPath-org.apache.hadoop.fs.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setCurrentPath</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.171">setCurrentPath</a>(org.apache.hadoop.fs.Path&nbsp;path)</pre>
+</li>
+</ul>
+<a name="closeReader--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>closeReader</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.175">closeReader</a>()
+                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="seek--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>seek</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.182">seek</a>()
+           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="nextKeyValue--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>nextKeyValue</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.165">nextKeyValue</a>()
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.189">nextKeyValue</a>()
                      throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -350,7 +456,7 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentValue</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.198">getCurrentValue</a>()
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.233">getCurrentValue</a>()
                         throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -368,7 +474,7 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <ul class="blockList">
 <li class="blockList">
 <h4>getProgress</h4>
-<pre>public&nbsp;float&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.203">getProgress</a>()
+<pre>public&nbsp;float&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.238">getProgress</a>()
                   throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -386,7 +492,7 @@ extends org.apache.hadoop.mapreduce.RecordReader&lt;K,<a href="../../../../../or
 <ul class="blockListLast">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.209">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#line.244">close</a>()
            throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
index 69ec1c3..82e58ae 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.65">WALInputFormat.WALSplit</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.67">WALInputFormat.WALSplit</a>
 extends org.apache.hadoop.mapreduce.InputSplit
 implements org.apache.hadoop.io.Writable</pre>
 <div class="block"><code>InputSplit</code> for <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a> files. Each split represent
@@ -270,7 +270,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>logFileName</h4>
-<pre>private&nbsp;<a href="http://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/mapreduce/WALInputFormat.WALSplit.html#line.66">logFileName</a></pre>
+<pre>private&nbsp;<a href="http://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/mapreduce/WALInputFormat.WALSplit.html#line.68">logFileName</a></pre>
 </li>
 </ul>
 <a name="fileSize">
@@ -279,7 +279,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>fileSize</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.67">fileSize</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.69">fileSize</a></pre>
 </li>
 </ul>
 <a name="startTime">
@@ -288,7 +288,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>startTime</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.68">startTime</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.70">startTime</a></pre>
 </li>
 </ul>
 <a name="endTime">
@@ -297,7 +297,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>endTime</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.69">endTime</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.71">endTime</a></pre>
 </li>
 </ul>
 </li>
@@ -314,7 +314,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>WALSplit</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.72">WALSplit</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.74">WALSplit</a>()</pre>
 <div class="block">for serialization</div>
 </li>
 </ul>
@@ -324,7 +324,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALSplit</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.83">WALSplit</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;logFileName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.85">WALSplit</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;logFileName,
                 long&nbsp;fileSize,
                 long&nbsp;startTime,
                 long&nbsp;endTime)</pre>
@@ -354,7 +354,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getLength</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.91">getLength</a>()
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.93">getLength</a>()
                throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -372,7 +372,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getLocations</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/mapreduce/WALInputFormat.WALSplit.html#line.96">getLocations</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/mapreduce/WALInputFormat.WALSplit.html#line.98">getLocations</a>()
                       throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -390,7 +390,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogFileName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/mapreduce/WALInputFormat.WALSplit.html#line.101">getLogFileName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/mapreduce/WALInputFormat.WALSplit.html#line.103">getLogFileName</a>()</pre>
 </li>
 </ul>
 <a name="getStartTime--">
@@ -399,7 +399,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getStartTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.105">getStartTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.107">getStartTime</a>()</pre>
 </li>
 </ul>
 <a name="getEndTime--">
@@ -408,7 +408,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getEndTime</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.109">getEndTime</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.111">getEndTime</a>()</pre>
 </li>
 </ul>
 <a name="readFields-java.io.DataInput-">
@@ -417,7 +417,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>readFields</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.114">readFields</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.116">readFields</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
                 throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>
@@ -433,7 +433,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>write</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.122">write</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#line.124">write</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
            throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>
@@ -449,7 +449,7 @@ implements org.apache.hadoop.io.Writable</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/mapreduce/WALInputFormat.WALSplit.html#line.130">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/mapreduce/WALInputFormat.WALSplit.html#line.132">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://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>&nbsp;in class&nbsp;<code><a href="http://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/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
index cf85cac..64ce966 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Public</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.55">WALInputFormat</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.57">WALInputFormat</a>
 extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&gt;</pre>
 <div class="block">Simple <code>InputFormat</code> for <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL</code></a> files.</div>
 </li>
@@ -269,7 +269,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <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/mapreduce/WALInputFormat.html#line.56">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.58">LOG</a></pre>
 </li>
 </ul>
 <a name="START_TIME_KEY">
@@ -278,7 +278,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>START_TIME_KEY</h4>
-<pre>public static final&nbsp;<a href="http://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/mapreduce/WALInputFormat.html#line.58">START_TIME_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://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/mapreduce/WALInputFormat.html#line.60">START_TIME_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALInputFormat.START_TIME_KEY">Constant Field Values</a></dd>
@@ -291,7 +291,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockListLast">
 <li class="blockList">
 <h4>END_TIME_KEY</h4>
-<pre>public static final&nbsp;<a href="http://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/mapreduce/WALInputFormat.html#line.59">END_TIME_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://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/mapreduce/WALInputFormat.html#line.61">END_TIME_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALInputFormat.END_TIME_KEY">Constant Field Values</a></dd>
@@ -312,7 +312,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALInputFormat</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.55">WALInputFormat</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.57">WALInputFormat</a>()</pre>
 </li>
 </ul>
 </li>
@@ -329,7 +329,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplits</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.227">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.262">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
                                                        throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -347,7 +347,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplits</h4>
-<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.235">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context,
+<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.270">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context,
                                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;startKey,
                                                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;endKey)
                                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
@@ -366,7 +366,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getInputPaths</h4>
-<pre>private&nbsp;org.apache.hadoop.fs.Path[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.255">getInputPaths</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<pre>private&nbsp;org.apache.hadoop.fs.Path[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.299">getInputPaths</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
 </li>
 </ul>
 <a name="getFiles-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-long-long-">
@@ -375,7 +375,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockList">
 <li class="blockList">
 <h4>getFiles</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.260">getFiles</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.fs.FileStatus&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.305">getFiles</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
                                                        org.apache.hadoop.fs.Path&nbsp;dir,
                                                        long&nbsp;startTime,
                                                        long&nbsp;endTime)
@@ -392,7 +392,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;<a href="../../../../../org/a
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createRecordReader</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.295">createRecordReader</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordReader&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.340">createRecordReader</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
                                                                                    org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)
                                                                             throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
index fbf181a..6631ed5 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.98">WALPlayer.WALKeyValueMapper</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.101">WALPlayer.WALKeyValueMapper</a>
 extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>,<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase">KeyValue</a>&gt;</pre>
 <div class="block">A mapper that just writes out KeyValues.
  This one can be used together with <a href="../../../../../org/apache/hadoop/hbase/mapreduce/KeyValueSortReducer.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>KeyValueSortReducer</code></a></div>
@@ -236,7 +236,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockListLast">
 <li class="blockList">
 <h4>table</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html#line.100">table</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html#line.103">table</a></pre>
 </li>
 </ul>
 </li>
@@ -253,7 +253,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALKeyValueMapper</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html#line.98">WALKeyValueMapper</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html#line.101">WALKeyValueMapper</a>()</pre>
 </li>
 </ul>
 </li>
@@ -270,7 +270,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockList">
 <li class="blockList">
 <h4>map</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html#line.103">map</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html#line.106">map</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;value,
                 org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -288,7 +288,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html#line.123">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html#line.126">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
            throws <a href="http://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="overrideSpecifyLabel">Overrides:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
index 045f4aa..1745fe5 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>protected static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.138">WALPlayer.WALMapper</a>
+<pre>protected static class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.143">WALPlayer.WALMapper</a>
 extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>,<a href="../../../../../org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io">ImmutableBytesWritable</a>,<a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&gt;</pre>
 <div class="block">A mapper that writes out <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><code>Mutation</code></a> to be directly applied to
  a running HBase instance.</div>
@@ -247,7 +247,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockListLast">
 <li class="blockList">
 <h4>tables</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.140">tables</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.145">tables</a></pre>
 </li>
 </ul>
 </li>
@@ -264,7 +264,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALMapper</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.138">WALMapper</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.143">WALMapper</a>()</pre>
 </li>
 </ul>
 </li>
@@ -281,7 +281,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockList">
 <li class="blockList">
 <h4>map</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.143">map</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.148">map</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.html" title="class in org.apache.hadoop.hbase.wal">WALKey</a>&nbsp;key,
                 <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALEdit.html" title="class in org.apache.hadoop.hbase.regionserver.wal">WALEdit</a>&nbsp;value,
                 org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
          throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -299,7 +299,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockList">
 <li class="blockList">
 <h4>filter</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.202">filter</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context,
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.207">filter</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context,
                          <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 </li>
 </ul>
@@ -309,7 +309,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanup</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.208">cleanup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.213">cleanup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
                 throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -327,7 +327,7 @@ extends org.apache.hadoop.mapreduce.Mapper&lt;<a href="../../../../../org/apache
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setup</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.214">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html#line.219">setup</a>(org.apache.hadoop.mapreduce.Mapper.Context&nbsp;context)
            throws <a href="http://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="overrideSpecifyLabel">Overrides:</span></dt>


[09/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
index bff248e..7c76f46 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
@@ -66,7 +66,7 @@
 <span class="sourceLineNo">058</span>/**<a name="line.58"></a>
 <span class="sourceLineNo">059</span> * A tool to replay WAL files as a M/R job.<a name="line.59"></a>
 <span class="sourceLineNo">060</span> * The WAL can be replayed for a set of tables or all tables,<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * and a timerange can be provided (in milliseconds).<a name="line.61"></a>
+<span class="sourceLineNo">061</span> * and a time range can be provided (in milliseconds).<a name="line.61"></a>
 <span class="sourceLineNo">062</span> * The WAL is filtered to the passed set of tables and  the output<a name="line.62"></a>
 <span class="sourceLineNo">063</span> * can optionally be mapped to another set of tables.<a name="line.63"></a>
 <span class="sourceLineNo">064</span> *<a name="line.64"></a>
@@ -81,313 +81,317 @@
 <span class="sourceLineNo">073</span>  public final static String BULK_OUTPUT_CONF_KEY = "wal.bulk.output";<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  public final static String TABLES_KEY = "wal.input.tables";<a name="line.74"></a>
 <span class="sourceLineNo">075</span>  public final static String TABLE_MAP_KEY = "wal.input.tablesmap";<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  // This relies on Hadoop Configuration to handle warning about deprecated configs and<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  // to set the correct non-deprecated configs when an old one shows up.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  static {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    Configuration.addDeprecation("hlog.bulk.output", BULK_OUTPUT_CONF_KEY);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Configuration.addDeprecation("hlog.input.tables", TABLES_KEY);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    Configuration.addDeprecation("hlog.input.tablesmap", TABLE_MAP_KEY);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final static String JOB_NAME_CONF_KEY = "mapreduce.job.name";<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>  public WALPlayer(){<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
+<span class="sourceLineNo">076</span>  public final static String INPUT_FILES_SEPARATOR_KEY = "wal.input.separator";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public final static String IGNORE_MISSING_FILES = "wal.input.ignore.missing.files";<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  // This relies on Hadoop Configuration to handle warning about deprecated configs and<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  // to set the correct non-deprecated configs when an old one shows up.<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  static {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    Configuration.addDeprecation("hlog.bulk.output", BULK_OUTPUT_CONF_KEY);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    Configuration.addDeprecation("hlog.input.tables", TABLES_KEY);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    Configuration.addDeprecation("hlog.input.tablesmap", TABLE_MAP_KEY);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final static String JOB_NAME_CONF_KEY = "mapreduce.job.name";<a name="line.88"></a>
 <span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  protected WALPlayer(final Configuration c) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    super(c);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * A mapper that just writes out KeyValues.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  static class WALKeyValueMapper<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private byte[] table;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>    @Override<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    public void map(WALKey key, WALEdit value,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      Context context)<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    throws IOException {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      try {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>        // skip all other tables<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>          for (Cell cell : value.getCells()) {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>            if (WALEdit.isMetaEditFamily(kv)) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>              continue;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>            }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      } catch (InterruptedException e) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        e.printStackTrace();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      }<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>    @Override<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public void setup(Context context) throws IOException {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (tables == null || tables.length != 1) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      table = Bytes.toBytes(tables[0]);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  /**<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * a running HBase instance.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  protected static class WALMapper<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;&gt;();<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>    @Override<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    throws IOException {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>          TableName targetTable = tables.isEmpty() ?<a name="line.147"></a>
-<span class="sourceLineNo">148</span>                key.getTablename() :<a name="line.148"></a>
-<span class="sourceLineNo">149</span>                tables.get(key.getTablename());<a name="line.149"></a>
-<span class="sourceLineNo">150</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          Put put = null;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>          Delete del = null;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          Cell lastCell = null;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>          for (Cell cell : value.getCells()) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>            // filtering WAL meta entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>              continue;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>            }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>            // Allow a subclass filter out this cell.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>            if (filter(context, cell)) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.162"></a>
-<span class="sourceLineNo">163</span>              // multiple rows (HBASE-5229).<a name="line.163"></a>
-<span class="sourceLineNo">164</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.164"></a>
-<span class="sourceLineNo">165</span>              // operation before writing to the context.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.166"></a>
-<span class="sourceLineNo">167</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>                // row or type changed, write out aggregate KVs.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>                if (put != null) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>                  context.write(tableOut, put);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>                }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                if (del != null) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>                  context.write(tableOut, del);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>                }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>                if (CellUtil.isDelete(cell)) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.176"></a>
-<span class="sourceLineNo">177</span>                } else {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>                  put = new Put(CellUtil.cloneRow(cell));<a name="line.178"></a>
+<span class="sourceLineNo">090</span>  public WALPlayer(){<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  protected WALPlayer(final Configuration c) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    super(c);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * A mapper that just writes out KeyValues.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  static class WALKeyValueMapper<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    private byte[] table;<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>    @Override<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    public void map(WALKey key, WALEdit value,<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      Context context)<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    throws IOException {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      try {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        // skip all other tables<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>          for (Cell cell : value.getCells()) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>            if (WALEdit.isMetaEditFamily(kv)) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>              continue;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>            }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        }<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      } catch (InterruptedException e) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        e.printStackTrace();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    @Override<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    public void setup(Context context) throws IOException {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      if (tables == null || tables.length != 1) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      table = Bytes.toBytes(tables[0]);<a name="line.133"></a>
+<span class="sourceLineNo">134</span><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><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * a running HBase instance.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  protected static class WALMapper<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;&gt;();<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>    @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    throws IOException {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      try {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>          TableName targetTable = tables.isEmpty() ?<a name="line.152"></a>
+<span class="sourceLineNo">153</span>                key.getTablename() :<a name="line.153"></a>
+<span class="sourceLineNo">154</span>                tables.get(key.getTablename());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          Put put = null;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>          Delete del = null;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>          Cell lastCell = null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          for (Cell cell : value.getCells()) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>            // filtering WAL meta entries<a name="line.160"></a>
+<span class="sourceLineNo">161</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>              continue;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>            }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>            // Allow a subclass filter out this cell.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>            if (filter(context, cell)) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.167"></a>
+<span class="sourceLineNo">168</span>              // multiple rows (HBASE-5229).<a name="line.168"></a>
+<span class="sourceLineNo">169</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.169"></a>
+<span class="sourceLineNo">170</span>              // operation before writing to the context.<a name="line.170"></a>
+<span class="sourceLineNo">171</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.171"></a>
+<span class="sourceLineNo">172</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                // row or type changed, write out aggregate KVs.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>                if (put != null) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>                  context.write(tableOut, put);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>                }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>                if (del != null) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>                  context.write(tableOut, del);<a name="line.178"></a>
 <span class="sourceLineNo">179</span>                }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>              }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>              if (CellUtil.isDelete(cell)) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>                del.addDeleteMarker(cell);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>              } else {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>                put.add(cell);<a name="line.184"></a>
+<span class="sourceLineNo">180</span>                if (CellUtil.isDelete(cell)) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>                } else {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>                  put = new Put(CellUtil.cloneRow(cell));<a name="line.183"></a>
+<span class="sourceLineNo">184</span>                }<a name="line.184"></a>
 <span class="sourceLineNo">185</span>              }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>            }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>            lastCell = cell;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>          }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          // write residual KVs<a name="line.189"></a>
-<span class="sourceLineNo">190</span>          if (put != null) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>            context.write(tableOut, put);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>          }<a name="line.192"></a>
-<span class="sourceLineNo">193</span>          if (del != null) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>            context.write(tableOut, del);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>          }<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      } catch (InterruptedException e) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        e.printStackTrace();<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return true;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    @Override<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    protected void<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        cleanup(Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt;.Context context)<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            throws IOException, InterruptedException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      super.cleanup(context);<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>    public void setup(Context context) throws IOException {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      if (tableMap == null) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        tableMap = tablesToUse;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      if (tablesToUse == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        // Then user wants all tables.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      } else if (tablesToUse.length != tableMap.length) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        throw new IOException("Incorrect table mapping specified .");<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      int i = 0;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      if (tablesToUse != null) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        for (String table : tablesToUse) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>          tables.put(TableName.valueOf(table),<a name="line.229"></a>
-<span class="sourceLineNo">230</span>            TableName.valueOf(tableMap[i++]));<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    String val = conf.get(option);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    if (null == val) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    long ms;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    try {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      // first try to parse in user friendly form<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    } catch (ParseException pe) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      try {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        // then see if just a number of ms's was specified<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        ms = Long.parseLong(val);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      } catch (NumberFormatException nfe) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        throw new IOException(option<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            + "or as number of milliseconds");<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>    conf.setLong(option, ms);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  /**<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * Sets up the actual job.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   *<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @param args  The command line parameters.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   * @return The newly created job.<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @throws IOException When setting up the job fails.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    Configuration conf = getConf();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    String inputDirs = args[0];<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    String[] tables = args[1].split(",");<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    String[] tableMap;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    if (args.length &gt; 2) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      tableMap = args[2].split(",");<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      if (tableMap.length != tables.length) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // if not mapping is specified map each table to itself<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      tableMap = tables;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + System.currentTimeMillis()));<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    job.setJarByClass(WALPlayer.class);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>    FileInputFormat.addInputPaths(job, inputDirs);<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (hfileOutPath != null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      LOG.debug("add incremental job :" + hfileOutPath + " from " + inputDirs);<a name="line.293"></a>
+<span class="sourceLineNo">186</span>              if (CellUtil.isDelete(cell)) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>                del.addDeleteMarker(cell);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>              } else {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>                put.add(cell);<a name="line.189"></a>
+<span class="sourceLineNo">190</span>              }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>            lastCell = cell;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>          }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>          // write residual KVs<a name="line.194"></a>
+<span class="sourceLineNo">195</span>          if (put != null) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>            context.write(tableOut, put);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>          if (del != null) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            context.write(tableOut, del);<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      } catch (InterruptedException e) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>        e.printStackTrace();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    }<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return true;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>    @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    protected void<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        cleanup(Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt;.Context context)<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            throws IOException, InterruptedException {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      super.cleanup(context);<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>    public void setup(Context context) throws IOException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      if (tableMap == null) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        tableMap = tablesToUse;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      }<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      if (tablesToUse == null) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        // Then user wants all tables.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      } else if (tablesToUse.length != tableMap.length) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.228"></a>
+<span class="sourceLineNo">229</span>        throw new IOException("Incorrect table mapping specified .");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      int i = 0;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      if (tablesToUse != null) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>        for (String table : tablesToUse) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>          tables.put(TableName.valueOf(table),<a name="line.234"></a>
+<span class="sourceLineNo">235</span>            TableName.valueOf(tableMap[i++]));<a name="line.235"></a>
+<span class="sourceLineNo">236</span>        }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      }<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    String val = conf.get(option);<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (null == val) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      return;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    long ms;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    try {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      // first try to parse in user friendly form<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    } catch (ParseException pe) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      try {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        // then see if just a number of ms's was specified<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        ms = Long.parseLong(val);<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      } catch (NumberFormatException nfe) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        throw new IOException(option<a name="line.255"></a>
+<span class="sourceLineNo">256</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.256"></a>
+<span class="sourceLineNo">257</span>            + "or as number of milliseconds");<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>    conf.setLong(option, ms);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * Sets up the actual job.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   *<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * @param args  The command line parameters.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * @return The newly created job.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @throws IOException When setting up the job fails.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    Configuration conf = getConf();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    String inputDirs = args[0];<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    String[] tables = args[1].split(",");<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    String[] tableMap;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    if (args.length &gt; 2) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      tableMap = args[2].split(",");<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      if (tableMap.length != tables.length) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    } else {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      // if not mapping is specified map each table to itself<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      tableMap = tables;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    conf.set(FileInputFormat.INPUT_DIR, inputDirs);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + System.currentTimeMillis()));<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    job.setJarByClass(WALPlayer.class);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>      // the bulk HFile case<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      if (tables.length != 1) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      Path outputDir = new Path(hfileOutPath);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          Table table = conn.getTable(tableName);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      }<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          com.google.common.base.Preconditions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    } else {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // output to live cluster<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      job.setMapperClass(WALMapper.class);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      TableMapReduceUtil.initCredentials(job);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      // No reducers.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      job.setNumReduceTasks(0);<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    try {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    } catch (Exception e) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    return job;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * Print usage<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @param errorMsg Error message.  Can be null.<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  private void usage(final String errorMsg) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      System.err.println("ERROR: " + errorMsg);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    System.err.println("(Careful, even hbase:meta entries will be imported"+<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      " in that case.)");<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    System.err.println("For performance also consider the following options:\n"<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      + "  -Dmapreduce.map.speculative=false\n"<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      + "  -Dmapreduce.reduce.speculative=false");<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * Main entry point.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   *<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @param args  The command line parameters.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @throws Exception When running the job fails.<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  public static void main(String[] args) throws Exception {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    System.exit(ret);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  public int run(String[] args) throws Exception {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    if (args.length &lt; 2) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      usage("Wrong number of arguments: " + args.length);<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      System.exit(-1);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    Job job = createSubmittableJob(args);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>}<a name="line.382"></a>
+<span class="sourceLineNo">295</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    if (hfileOutPath != null) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      LOG.debug("add incremental job :" + hfileOutPath + " from " + inputDirs);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>      // the bulk HFile case<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      if (tables.length != 1) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      }<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      Path outputDir = new Path(hfileOutPath);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.309"></a>
+<span class="sourceLineNo">310</span>          Table table = conn.getTable(tableName);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      }<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.314"></a>
+<span class="sourceLineNo">315</span>          com.google.common.base.Preconditions.class);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    } else {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      // output to live cluster<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      job.setMapperClass(WALMapper.class);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      TableMapReduceUtil.initCredentials(job);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      // No reducers.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      job.setNumReduceTasks(0);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    try {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    } catch (Exception e) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    return job;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Print usage<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param errorMsg Error message.  Can be null.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  private void usage(final String errorMsg) {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      System.err.println("ERROR: " + errorMsg);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    System.err.println("(Careful, even hbase:meta entries will be imported"+<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      " in that case.)");<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    System.err.println("For performance also consider the following options:\n"<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      + "  -Dmapreduce.map.speculative=false\n"<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      + "  -Dmapreduce.reduce.speculative=false");<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Main entry point.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   *<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * @param args  The command line parameters.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * @throws Exception When running the job fails.<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  public static void main(String[] args) throws Exception {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    System.exit(ret);<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public int run(String[] args) throws Exception {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (args.length &lt; 2) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      usage("Wrong number of arguments: " + args.length);<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      System.exit(-1);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    Job job = createSubmittableJob(args);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>}<a name="line.386"></a>
 
 
 


[17/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index 0da8145..939d719 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -393,94 +393,94 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">m_master</a></pre>
 </li>
 </ul>
-<a name="m_serverManager">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_serverManager</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.124">m_serverManager</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.124">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_serverManager__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_serverManager__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">m_serverManager__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.141">m_filter</a></pre>
+<h4>m_serverManager</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.141">m_serverManager</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_serverManager__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_filter__IsNotDefault</a></pre>
+<h4>m_serverManager__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_serverManager__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_frags">
+<a name="m_metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_frags</a></pre>
+<h4>m_metaLocation</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_metaLocation</a></pre>
 </li>
 </ul>
-<a name="m_frags__IsNotDefault">
+<a name="m_metaLocation__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_frags__IsNotDefault</a></pre>
+<h4>m_metaLocation__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_metaLocation__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.175">m_format</a></pre>
+<h4>m_servers</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.175">m_servers</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_servers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_format__IsNotDefault</a></pre>
+<h4>m_servers__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_servers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager">
+<a name="m_catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_assignmentManager</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.192">m_assignmentManager</a></pre>
+<h4>m_catalogJanitorEnabled</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.192">m_catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager__IsNotDefault">
+<a name="m_catalogJanitorEnabled__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_assignmentManager__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">m_assignmentManager__IsNotDefault</a></pre>
+<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">m_catalogJanitorEnabled__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_deadServers">
@@ -501,58 +501,58 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">m_deadServers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_metaLocation</h4>
-<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.226">m_metaLocation</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.ImplData.html#line.226">m_format</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_metaLocation__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_metaLocation__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_catalogJanitorEnabled">
+<a name="m_frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_catalogJanitorEnabled</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.243">m_catalogJanitorEnabled</a></pre>
+<h4>m_frags</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.243">m_frags</a></pre>
 </li>
 </ul>
-<a name="m_catalogJanitorEnabled__IsNotDefault">
+<a name="m_frags__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">m_catalogJanitorEnabled__IsNotDefault</a></pre>
+<h4>m_frags__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">m_frags__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_servers">
+<a name="m_assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_servers</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_servers</a></pre>
+<h4>m_assignmentManager</h4>
+<pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_assignmentManager</a></pre>
 </li>
 </ul>
-<a name="m_servers__IsNotDefault">
+<a name="m_assignmentManager__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>m_servers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_servers__IsNotDefault</a></pre>
+<h4>m_assignmentManager__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_assignmentManager__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -598,139 +598,139 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.108">getMaster</a>()</pre>
 </li>
 </ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.114">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.114">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
 </li>
 </ul>
-<a name="getServerManager--">
+<a name="getFilter--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServerManager</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.120">getServerManager</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.120">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getServerManager__IsNotDefault--">
+<a name="getFilter__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServerManager__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.125">getServerManager__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.125">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setServerManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
 </li>
 </ul>
-<a name="getFilter--">
+<a name="getServerManager--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getFilter</a>()</pre>
+<h4>getServerManager</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getServerManager</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault--">
+<a name="getServerManager__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getFilter__IsNotDefault</a>()</pre>
+<h4>getServerManager__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getServerManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFrags-java.util.Map-">
+<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">setFrags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;frags)</pre>
+<h4>setMetaLocation</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
 </li>
 </ul>
-<a name="getFrags--">
+<a name="getMetaLocation--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getFrags</a>()</pre>
+<h4>getMetaLocation</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getMetaLocation</a>()</pre>
 </li>
 </ul>
-<a name="getFrags__IsNotDefault--">
+<a name="getMetaLocation__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getFrags__IsNotDefault</a>()</pre>
+<h4>getMetaLocation__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getMetaLocation__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setServers-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.165">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.165">setServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
 </li>
 </ul>
-<a name="getFormat--">
+<a name="getServers--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getFormat</a>()</pre>
+<h4>getServers</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getServers</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault--">
+<a name="getServers__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getFormat__IsNotDefault</a>()</pre>
+<h4>getServers__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
+<a name="setCatalogJanitorEnabled-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.182">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;assignmentManager)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.182">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
 </li>
 </ul>
-<a name="getAssignmentManager--">
+<a name="getCatalogJanitorEnabled--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getAssignmentManager</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.188">getAssignmentManager</a>()</pre>
+<h4>getCatalogJanitorEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.188">getCatalogJanitorEnabled</a>()</pre>
 </li>
 </ul>
-<a name="getAssignmentManager__IsNotDefault--">
+<a name="getCatalogJanitorEnabled__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getAssignmentManager__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.193">getAssignmentManager__IsNotDefault</a>()</pre>
+<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.193">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setDeadServers-java.util.Set-">
@@ -760,85 +760,85 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.210">getDeadServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
 </li>
 </ul>
-<a name="getMetaLocation--">
+<a name="getFormat--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getMetaLocation</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getMetaLocation</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getMetaLocation__IsNotDefault--">
+<a name="getFormat__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getMetaLocation__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getMetaLocation__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setCatalogJanitorEnabled-boolean-">
+<a name="setFrags-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.233">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
+<h4>setFrags</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.233">setFrags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;frags)</pre>
 </li>
 </ul>
-<a name="getCatalogJanitorEnabled--">
+<a name="getFrags--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getCatalogJanitorEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.239">getCatalogJanitorEnabled</a>()</pre>
+<h4>getFrags</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.239">getFrags</a>()</pre>
 </li>
 </ul>
-<a name="getCatalogJanitorEnabled__IsNotDefault--">
+<a name="getFrags__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.244">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
+<h4>getFrags__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.244">getFrags__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setServers-java.util.List-">
+<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">setServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;assignmentManager)</pre>
 </li>
 </ul>
-<a name="getServers--">
+<a name="getAssignmentManager--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getServers</a>()</pre>
+<h4>getAssignmentManager</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getAssignmentManager</a>()</pre>
 </li>
 </ul>
-<a name="getServers__IsNotDefault--">
+<a name="getAssignmentManager__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getServers__IsNotDefault</a>()</pre>
+<h4>getAssignmentManager__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getAssignmentManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index dcb961c..9737b0f 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -337,49 +337,49 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="serverManager">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.277">serverManager</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.html#line.277">filter</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.html#line.284">filter</a></pre>
+<h4>serverManager</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.284">serverManager</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">frags</a></pre>
+<h4>metaLocation</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">metaLocation</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.html#line.298">format</a></pre>
+<h4>servers</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.298">servers</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>assignmentManager</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.305">assignmentManager</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.305">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
 <a name="deadServers">
@@ -391,31 +391,31 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.312">deadServers</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>metaLocation</h4>
-<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.319">metaLocation</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://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/tmpl/master/MasterStatusTmpl.html#line.319">format</a></pre>
 </li>
 </ul>
-<a name="catalogJanitorEnabled">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.326">catalogJanitorEnabled</a></pre>
+<h4>frags</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.326">frags</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>servers</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.333">servers</a></pre>
+<h4>assignmentManager</h4>
+<pre>protected&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.333">assignmentManager</a></pre>
 </li>
 </ul>
 </li>
@@ -487,49 +487,49 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.278">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;p_serverManager)</pre>
+<h4>setFilter</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.278">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
+<h4>setServerManager</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;p_serverManager)</pre>
 </li>
 </ul>
-<a name="setFrags-java.util.Map-">
+<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">setFrags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;p_frags)</pre>
+<h4>setMetaLocation</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setServers-java.util.List-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.299">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<h4>setServers</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.299">setServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_servers)</pre>
 </li>
 </ul>
-<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
+<a name="setCatalogJanitorEnabled-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.306">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;p_assignmentManager)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.306">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
 </li>
 </ul>
 <a name="setDeadServers-java.util.Set-">
@@ -541,31 +541,31 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.313">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_deadServers)</pre>
 </li>
 </ul>
-<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</pre>
+<h4>setFormat</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
 </li>
 </ul>
-<a name="setCatalogJanitorEnabled-boolean-">
+<a name="setFrags-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.327">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
+<h4>setFrags</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.327">setFrags</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;p_frags)</pre>
 </li>
 </ul>
-<a name="setServers-java.util.List-">
+<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">setServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_servers)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;p_assignmentManager)</pre>
 </li>
 </ul>
 <a name="constructImpl-java.lang.Class-">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index 7e8fac8..953caa5 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -278,49 +278,49 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.64">master</a></pre>
 </li>
 </ul>
-<a name="serverManager">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">serverManager</a></pre>
+<h4>filter</h4>
+<pre>private final&nbsp;<a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.65">filter</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>private final&nbsp;<a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.66">filter</a></pre>
+<h4>serverManager</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.66">serverManager</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">frags</a></pre>
+<h4>metaLocation</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">metaLocation</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>private final&nbsp;<a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.68">format</a></pre>
+<h4>servers</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.68">servers</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>assignmentManager</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">assignmentManager</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
 <a name="deadServers">
@@ -332,31 +332,31 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.70">deadServers</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>metaLocation</h4>
-<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.71">metaLocation</a></pre>
+<h4>format</h4>
+<pre>private final&nbsp;<a href="http://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/tmpl/master/MasterStatusTmplImpl.html#line.71">format</a></pre>
 </li>
 </ul>
-<a name="catalogJanitorEnabled">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.72">catalogJanitorEnabled</a></pre>
+<h4>frags</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.72">frags</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>servers</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.73">servers</a></pre>
+<h4>assignmentManager</h4>
+<pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.73">assignmentManager</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index 2ce5657..96b9714 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -293,76 +293,76 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.71">m_regionServer</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_filter</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_format</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_filter__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_format</a></pre>
+<h4>m_bcn</h4>
+<pre>private&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_bcn</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_bcn__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_format__IsNotDefault</a></pre>
+<h4>m_bcn__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_bcn__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_bcv">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcv</h4>
-<pre>private&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_bcv</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_bcv__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcv__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_bcv__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_bcn">
+<a name="m_bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcn</h4>
-<pre>private&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_bcn</a></pre>
+<h4>m_bcv</h4>
+<pre>private&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_bcv</a></pre>
 </li>
 </ul>
-<a name="m_bcn__IsNotDefault">
+<a name="m_bcv__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>m_bcn__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_bcn__IsNotDefault</a></pre>
+<h4>m_bcv__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_bcv__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -408,112 +408,112 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.67">getRegionServer</a>()</pre>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
 </li>
 </ul>
-<a name="getFilter--">
+<a name="getFormat--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getFilter</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault--">
+<a name="getFormat__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getFilter__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setBcn-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setBcn</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setBcn</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcn)</pre>
 </li>
 </ul>
-<a name="getFormat--">
+<a name="getBcn--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getFormat</a>()</pre>
+<h4>getBcn</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getBcn</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault--">
+<a name="getBcn__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getFormat__IsNotDefault</a>()</pre>
+<h4>getBcn__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getBcn__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setBcv-java.lang.String-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcv</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setBcv</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcv)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
 </li>
 </ul>
-<a name="getBcv--">
+<a name="getFilter--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcv</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getBcv</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getBcv__IsNotDefault--">
+<a name="getFilter__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcv__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getBcv__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setBcn-java.lang.String-">
+<a name="setBcv-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcn</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setBcn</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcn)</pre>
+<h4>setBcv</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setBcv</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcv)</pre>
 </li>
 </ul>
-<a name="getBcn--">
+<a name="getBcv--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcn</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getBcn</a>()</pre>
+<h4>getBcv</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getBcv</a>()</pre>
 </li>
 </ul>
-<a name="getBcn__IsNotDefault--">
+<a name="getBcv__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getBcn__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getBcn__IsNotDefault</a>()</pre>
+<h4>getBcv__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getBcv__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 252b341..4a53b4c 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -297,40 +297,40 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="filter">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.html#line.151">filter</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.html#line.151">format</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.html#line.158">format</a></pre>
+<h4>bcn</h4>
+<pre>protected&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.html#line.158">bcn</a></pre>
 </li>
 </ul>
-<a name="bcv">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcv</h4>
-<pre>protected&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.html#line.165">bcv</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.html#line.165">filter</a></pre>
 </li>
 </ul>
-<a name="bcn">
+<a name="bcv">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>bcn</h4>
-<pre>protected&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.html#line.172">bcn</a></pre>
+<h4>bcv</h4>
+<pre>protected&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmpl.html#line.172">bcv</a></pre>
 </li>
 </ul>
 </li>
@@ -402,40 +402,40 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
+<h4>setFormat</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setBcn-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<h4>setBcn</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">setBcn</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcn)</pre>
 </li>
 </ul>
-<a name="setBcv-java.lang.String-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcv</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setBcv</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcv)</pre>
+<h4>setFilter</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
 </li>
 </ul>
-<a name="setBcn-java.lang.String-">
+<a name="setBcv-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcn</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.173">setBcn</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcn)</pre>
+<h4>setBcv</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.173">setBcv</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcv)</pre>
 </li>
 </ul>
 <a name="constructImpl-java.lang.Class-">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index 380f04c..47b5f6b 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -238,40 +238,40 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.28">regionServer</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>private final&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmplImpl.html#line.29">filter</a></pre>
+<h4>format</h4>
+<pre>private final&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmplImpl.html#line.29">format</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>private final&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmplImpl.html#line.30">format</a></pre>
+<h4>bcn</h4>
+<pre>private final&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmplImpl.html#line.30">bcn</a></pre>
 </li>
 </ul>
-<a name="bcv">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcv</h4>
-<pre>private final&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmplImpl.html#line.31">bcv</a></pre>
+<h4>filter</h4>
+<pre>private final&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmplImpl.html#line.31">filter</a></pre>
 </li>
 </ul>
-<a name="bcn">
+<a name="bcv">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>bcn</h4>
-<pre>private final&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmplImpl.html#line.32">bcn</a></pre>
+<h4>bcv</h4>
+<pre>private final&nbsp;<a href="http://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/tmpl/regionserver/RSStatusTmplImpl.html#line.32">bcv</a></pre>
 </li>
 </ul>
 </li>


[08/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index a726c7e..7d5cbe4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -69,15 +69,15 @@
 <span class="sourceLineNo">061</span>  requiredArguments = {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.68"></a>
 <span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<a name="line.72"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager")})<a name="line.72"></a>
 <span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
 <span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,91 +118,91 @@
 <span class="sourceLineNo">110</span>      return m_master;<a name="line.110"></a>
 <span class="sourceLineNo">111</span>    }<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // 28, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void setServerManager(ServerManager serverManager)<a name="line.114"></a>
+<span class="sourceLineNo">113</span>    // 26, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public void setFilter(String filter)<a name="line.114"></a>
 <span class="sourceLineNo">115</span>    {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      // 28, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      m_serverManager = serverManager;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      m_serverManager__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span>      // 26, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      m_filter = filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      m_filter__IsNotDefault = true;<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    public ServerManager getServerManager()<a name="line.120"></a>
+<span class="sourceLineNo">120</span>    public String getFilter()<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      return m_serverManager;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>      return m_filter;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    private ServerManager m_serverManager;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    public boolean getServerManager__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span>    private String m_filter;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public boolean getFilter__IsNotDefault()<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      return m_serverManager__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span>      return m_filter__IsNotDefault;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    private boolean m_serverManager__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 26, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void setFilter(String filter)<a name="line.131"></a>
+<span class="sourceLineNo">129</span>    private boolean m_filter__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    // 28, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    public void setServerManager(ServerManager serverManager)<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 26, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      m_filter = filter;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      m_filter__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span>      // 28, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      m_serverManager = serverManager;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      m_serverManager__IsNotDefault = true;<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    public String getFilter()<a name="line.137"></a>
+<span class="sourceLineNo">137</span>    public ServerManager getServerManager()<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return m_filter;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>      return m_serverManager;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    private String m_filter;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean getFilter__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span>    private ServerManager m_serverManager;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean getServerManager__IsNotDefault()<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return m_filter__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span>      return m_serverManager__IsNotDefault;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>    }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    private boolean m_filter__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    // 21, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.148"></a>
+<span class="sourceLineNo">146</span>    private boolean m_serverManager__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 22, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.148"></a>
 <span class="sourceLineNo">149</span>    {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      // 21, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      m_frags = frags;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      m_frags__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span>      // 22, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      m_metaLocation = metaLocation;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      m_metaLocation__IsNotDefault = true;<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    public ServerName getMetaLocation()<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      return m_frags;<a name="line.156"></a>
+<span class="sourceLineNo">156</span>      return m_metaLocation;<a name="line.156"></a>
 <span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    public boolean getFrags__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span>    private ServerName m_metaLocation;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return m_frags__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>      return m_metaLocation__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    private boolean m_frags__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // 27, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public void setFormat(String format)<a name="line.165"></a>
+<span class="sourceLineNo">163</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 23, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      // 27, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      m_format = format;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      m_format__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span>      // 23, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      m_servers = servers;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      m_servers__IsNotDefault = true;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public String getFormat()<a name="line.171"></a>
+<span class="sourceLineNo">171</span>    public List&lt;ServerName&gt; getServers()<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return m_format;<a name="line.173"></a>
+<span class="sourceLineNo">173</span>      return m_servers;<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    private String m_format;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    public boolean getFormat__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span>    private List&lt;ServerName&gt; m_servers;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    public boolean getServers__IsNotDefault()<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return m_format__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span>      return m_servers__IsNotDefault;<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    private boolean m_format__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    // 29, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.182"></a>
+<span class="sourceLineNo">180</span>    private boolean m_servers__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // 25, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      // 29, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      m_assignmentManager = assignmentManager;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      m_assignmentManager__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span>      // 25, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    public AssignmentManager getAssignmentManager()<a name="line.188"></a>
+<span class="sourceLineNo">188</span>    public boolean getCatalogJanitorEnabled()<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      return m_assignmentManager;<a name="line.190"></a>
+<span class="sourceLineNo">190</span>      return m_catalogJanitorEnabled;<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    private AssignmentManager m_assignmentManager;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span>    private boolean m_catalogJanitorEnabled;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      return m_assignmentManager__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">197</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    // 24, 1<a name="line.198"></a>
 <span class="sourceLineNo">199</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    {<a name="line.200"></a>
@@ -220,57 +220,57 @@
 <span class="sourceLineNo">212</span>      return m_deadServers__IsNotDefault;<a name="line.212"></a>
 <span class="sourceLineNo">213</span>    }<a name="line.213"></a>
 <span class="sourceLineNo">214</span>    private boolean m_deadServers__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // 22, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.216"></a>
+<span class="sourceLineNo">215</span>    // 27, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public void setFormat(String format)<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      // 22, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      m_metaLocation = metaLocation;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      m_metaLocation__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span>      // 27, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      m_format = format;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      m_format__IsNotDefault = true;<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    public ServerName getMetaLocation()<a name="line.222"></a>
+<span class="sourceLineNo">222</span>    public String getFormat()<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return m_metaLocation;<a name="line.224"></a>
+<span class="sourceLineNo">224</span>      return m_format;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    private ServerName m_metaLocation;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span>    private String m_format;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    public boolean getFormat__IsNotDefault()<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return m_metaLocation__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>      return m_format__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // 25, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.233"></a>
+<span class="sourceLineNo">231</span>    private boolean m_format__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    // 21, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      // 25, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span>      // 21, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      m_frags = frags;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      m_frags__IsNotDefault = true;<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    public boolean getCatalogJanitorEnabled()<a name="line.239"></a>
+<span class="sourceLineNo">239</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return m_catalogJanitorEnabled;<a name="line.241"></a>
+<span class="sourceLineNo">241</span>      return m_frags;<a name="line.241"></a>
 <span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private boolean m_catalogJanitorEnabled;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public boolean getFrags__IsNotDefault()<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span>      return m_frags__IsNotDefault;<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    // 23, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.250"></a>
+<span class="sourceLineNo">248</span>    private boolean m_frags__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    // 29, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      // 23, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      m_servers = servers;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      m_servers__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span>      // 29, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      m_assignmentManager = assignmentManager;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      m_assignmentManager__IsNotDefault = true;<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public List&lt;ServerName&gt; getServers()<a name="line.256"></a>
+<span class="sourceLineNo">256</span>    public AssignmentManager getAssignmentManager()<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return m_servers;<a name="line.258"></a>
+<span class="sourceLineNo">258</span>      return m_assignmentManager;<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    private List&lt;ServerName&gt; m_servers;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    public boolean getServers__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span>    private AssignmentManager m_assignmentManager;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return m_servers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      return m_assignmentManager__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private boolean m_servers__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  }<a name="line.266"></a>
 <span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
 <span class="sourceLineNo">268</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,38 +282,38 @@
 <span class="sourceLineNo">274</span>    return (ImplData) super.getImplData();<a name="line.274"></a>
 <span class="sourceLineNo">275</span>  }<a name="line.275"></a>
 <span class="sourceLineNo">276</span>  <a name="line.276"></a>
-<span class="sourceLineNo">277</span>  protected ServerManager serverManager;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.278"></a>
+<span class="sourceLineNo">277</span>  protected String filter;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.278"></a>
 <span class="sourceLineNo">279</span>  {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.280"></a>
+<span class="sourceLineNo">280</span>    (getImplData()).setFilter(p_filter);<a name="line.280"></a>
 <span class="sourceLineNo">281</span>    return this;<a name="line.281"></a>
 <span class="sourceLineNo">282</span>  }<a name="line.282"></a>
 <span class="sourceLineNo">283</span>  <a name="line.283"></a>
-<span class="sourceLineNo">284</span>  protected String filter;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.285"></a>
+<span class="sourceLineNo">284</span>  protected ServerManager serverManager;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    (getImplData()).setFilter(p_filter);<a name="line.287"></a>
+<span class="sourceLineNo">287</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.287"></a>
 <span class="sourceLineNo">288</span>    return this;<a name="line.288"></a>
 <span class="sourceLineNo">289</span>  }<a name="line.289"></a>
 <span class="sourceLineNo">290</span>  <a name="line.290"></a>
-<span class="sourceLineNo">291</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.292"></a>
+<span class="sourceLineNo">291</span>  protected ServerName metaLocation;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.292"></a>
 <span class="sourceLineNo">293</span>  {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    (getImplData()).setFrags(p_frags);<a name="line.294"></a>
+<span class="sourceLineNo">294</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.294"></a>
 <span class="sourceLineNo">295</span>    return this;<a name="line.295"></a>
 <span class="sourceLineNo">296</span>  }<a name="line.296"></a>
 <span class="sourceLineNo">297</span>  <a name="line.297"></a>
-<span class="sourceLineNo">298</span>  protected String format;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.299"></a>
+<span class="sourceLineNo">298</span>  protected List&lt;ServerName&gt; servers;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.299"></a>
 <span class="sourceLineNo">300</span>  {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    (getImplData()).setFormat(p_format);<a name="line.301"></a>
+<span class="sourceLineNo">301</span>    (getImplData()).setServers(p_servers);<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    return this;<a name="line.302"></a>
 <span class="sourceLineNo">303</span>  }<a name="line.303"></a>
 <span class="sourceLineNo">304</span>  <a name="line.304"></a>
-<span class="sourceLineNo">305</span>  protected AssignmentManager assignmentManager;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.306"></a>
+<span class="sourceLineNo">305</span>  protected boolean catalogJanitorEnabled;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.306"></a>
 <span class="sourceLineNo">307</span>  {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.308"></a>
+<span class="sourceLineNo">308</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.308"></a>
 <span class="sourceLineNo">309</span>    return this;<a name="line.309"></a>
 <span class="sourceLineNo">310</span>  }<a name="line.310"></a>
 <span class="sourceLineNo">311</span>  <a name="line.311"></a>
@@ -324,24 +324,24 @@
 <span class="sourceLineNo">316</span>    return this;<a name="line.316"></a>
 <span class="sourceLineNo">317</span>  }<a name="line.317"></a>
 <span class="sourceLineNo">318</span>  <a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected ServerName metaLocation;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.320"></a>
+<span class="sourceLineNo">319</span>  protected String format;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.320"></a>
 <span class="sourceLineNo">321</span>  {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.322"></a>
+<span class="sourceLineNo">322</span>    (getImplData()).setFormat(p_format);<a name="line.322"></a>
 <span class="sourceLineNo">323</span>    return this;<a name="line.323"></a>
 <span class="sourceLineNo">324</span>  }<a name="line.324"></a>
 <span class="sourceLineNo">325</span>  <a name="line.325"></a>
-<span class="sourceLineNo">326</span>  protected boolean catalogJanitorEnabled;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.327"></a>
+<span class="sourceLineNo">326</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.327"></a>
 <span class="sourceLineNo">328</span>  {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.329"></a>
+<span class="sourceLineNo">329</span>    (getImplData()).setFrags(p_frags);<a name="line.329"></a>
 <span class="sourceLineNo">330</span>    return this;<a name="line.330"></a>
 <span class="sourceLineNo">331</span>  }<a name="line.331"></a>
 <span class="sourceLineNo">332</span>  <a name="line.332"></a>
-<span class="sourceLineNo">333</span>  protected List&lt;ServerName&gt; servers;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.334"></a>
+<span class="sourceLineNo">333</span>  protected AssignmentManager assignmentManager;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.334"></a>
 <span class="sourceLineNo">335</span>  {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    (getImplData()).setServers(p_servers);<a name="line.336"></a>
+<span class="sourceLineNo">336</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.336"></a>
 <span class="sourceLineNo">337</span>    return this;<a name="line.337"></a>
 <span class="sourceLineNo">338</span>  }<a name="line.338"></a>
 <span class="sourceLineNo">339</span>  <a name="line.339"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
index a726c7e..7d5cbe4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
@@ -69,15 +69,15 @@
 <span class="sourceLineNo">061</span>  requiredArguments = {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.68"></a>
 <span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<a name="line.72"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager")})<a name="line.72"></a>
 <span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
 <span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,91 +118,91 @@
 <span class="sourceLineNo">110</span>      return m_master;<a name="line.110"></a>
 <span class="sourceLineNo">111</span>    }<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // 28, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void setServerManager(ServerManager serverManager)<a name="line.114"></a>
+<span class="sourceLineNo">113</span>    // 26, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public void setFilter(String filter)<a name="line.114"></a>
 <span class="sourceLineNo">115</span>    {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      // 28, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      m_serverManager = serverManager;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      m_serverManager__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span>      // 26, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      m_filter = filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      m_filter__IsNotDefault = true;<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    public ServerManager getServerManager()<a name="line.120"></a>
+<span class="sourceLineNo">120</span>    public String getFilter()<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      return m_serverManager;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>      return m_filter;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    private ServerManager m_serverManager;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    public boolean getServerManager__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span>    private String m_filter;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public boolean getFilter__IsNotDefault()<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      return m_serverManager__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span>      return m_filter__IsNotDefault;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    private boolean m_serverManager__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 26, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void setFilter(String filter)<a name="line.131"></a>
+<span class="sourceLineNo">129</span>    private boolean m_filter__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    // 28, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    public void setServerManager(ServerManager serverManager)<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 26, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      m_filter = filter;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      m_filter__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span>      // 28, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      m_serverManager = serverManager;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      m_serverManager__IsNotDefault = true;<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    public String getFilter()<a name="line.137"></a>
+<span class="sourceLineNo">137</span>    public ServerManager getServerManager()<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return m_filter;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>      return m_serverManager;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    private String m_filter;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean getFilter__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span>    private ServerManager m_serverManager;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean getServerManager__IsNotDefault()<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return m_filter__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span>      return m_serverManager__IsNotDefault;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>    }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    private boolean m_filter__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    // 21, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.148"></a>
+<span class="sourceLineNo">146</span>    private boolean m_serverManager__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 22, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.148"></a>
 <span class="sourceLineNo">149</span>    {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      // 21, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      m_frags = frags;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      m_frags__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span>      // 22, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      m_metaLocation = metaLocation;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      m_metaLocation__IsNotDefault = true;<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    public ServerName getMetaLocation()<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      return m_frags;<a name="line.156"></a>
+<span class="sourceLineNo">156</span>      return m_metaLocation;<a name="line.156"></a>
 <span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    public boolean getFrags__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span>    private ServerName m_metaLocation;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return m_frags__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>      return m_metaLocation__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    private boolean m_frags__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // 27, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public void setFormat(String format)<a name="line.165"></a>
+<span class="sourceLineNo">163</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 23, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      // 27, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      m_format = format;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      m_format__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span>      // 23, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      m_servers = servers;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      m_servers__IsNotDefault = true;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public String getFormat()<a name="line.171"></a>
+<span class="sourceLineNo">171</span>    public List&lt;ServerName&gt; getServers()<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return m_format;<a name="line.173"></a>
+<span class="sourceLineNo">173</span>      return m_servers;<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    private String m_format;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    public boolean getFormat__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span>    private List&lt;ServerName&gt; m_servers;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    public boolean getServers__IsNotDefault()<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return m_format__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span>      return m_servers__IsNotDefault;<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    private boolean m_format__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    // 29, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.182"></a>
+<span class="sourceLineNo">180</span>    private boolean m_servers__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // 25, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      // 29, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      m_assignmentManager = assignmentManager;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      m_assignmentManager__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span>      // 25, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    public AssignmentManager getAssignmentManager()<a name="line.188"></a>
+<span class="sourceLineNo">188</span>    public boolean getCatalogJanitorEnabled()<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      return m_assignmentManager;<a name="line.190"></a>
+<span class="sourceLineNo">190</span>      return m_catalogJanitorEnabled;<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    private AssignmentManager m_assignmentManager;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span>    private boolean m_catalogJanitorEnabled;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      return m_assignmentManager__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">197</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    // 24, 1<a name="line.198"></a>
 <span class="sourceLineNo">199</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    {<a name="line.200"></a>
@@ -220,57 +220,57 @@
 <span class="sourceLineNo">212</span>      return m_deadServers__IsNotDefault;<a name="line.212"></a>
 <span class="sourceLineNo">213</span>    }<a name="line.213"></a>
 <span class="sourceLineNo">214</span>    private boolean m_deadServers__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // 22, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.216"></a>
+<span class="sourceLineNo">215</span>    // 27, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public void setFormat(String format)<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      // 22, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      m_metaLocation = metaLocation;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      m_metaLocation__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span>      // 27, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      m_format = format;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      m_format__IsNotDefault = true;<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    public ServerName getMetaLocation()<a name="line.222"></a>
+<span class="sourceLineNo">222</span>    public String getFormat()<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return m_metaLocation;<a name="line.224"></a>
+<span class="sourceLineNo">224</span>      return m_format;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    private ServerName m_metaLocation;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span>    private String m_format;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    public boolean getFormat__IsNotDefault()<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return m_metaLocation__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>      return m_format__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // 25, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.233"></a>
+<span class="sourceLineNo">231</span>    private boolean m_format__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    // 21, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      // 25, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span>      // 21, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      m_frags = frags;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      m_frags__IsNotDefault = true;<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    public boolean getCatalogJanitorEnabled()<a name="line.239"></a>
+<span class="sourceLineNo">239</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return m_catalogJanitorEnabled;<a name="line.241"></a>
+<span class="sourceLineNo">241</span>      return m_frags;<a name="line.241"></a>
 <span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private boolean m_catalogJanitorEnabled;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public boolean getFrags__IsNotDefault()<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span>      return m_frags__IsNotDefault;<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    // 23, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.250"></a>
+<span class="sourceLineNo">248</span>    private boolean m_frags__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    // 29, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      // 23, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      m_servers = servers;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      m_servers__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span>      // 29, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      m_assignmentManager = assignmentManager;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      m_assignmentManager__IsNotDefault = true;<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public List&lt;ServerName&gt; getServers()<a name="line.256"></a>
+<span class="sourceLineNo">256</span>    public AssignmentManager getAssignmentManager()<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return m_servers;<a name="line.258"></a>
+<span class="sourceLineNo">258</span>      return m_assignmentManager;<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    private List&lt;ServerName&gt; m_servers;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    public boolean getServers__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span>    private AssignmentManager m_assignmentManager;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return m_servers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      return m_assignmentManager__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private boolean m_servers__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  }<a name="line.266"></a>
 <span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
 <span class="sourceLineNo">268</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,38 +282,38 @@
 <span class="sourceLineNo">274</span>    return (ImplData) super.getImplData();<a name="line.274"></a>
 <span class="sourceLineNo">275</span>  }<a name="line.275"></a>
 <span class="sourceLineNo">276</span>  <a name="line.276"></a>
-<span class="sourceLineNo">277</span>  protected ServerManager serverManager;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.278"></a>
+<span class="sourceLineNo">277</span>  protected String filter;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.278"></a>
 <span class="sourceLineNo">279</span>  {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.280"></a>
+<span class="sourceLineNo">280</span>    (getImplData()).setFilter(p_filter);<a name="line.280"></a>
 <span class="sourceLineNo">281</span>    return this;<a name="line.281"></a>
 <span class="sourceLineNo">282</span>  }<a name="line.282"></a>
 <span class="sourceLineNo">283</span>  <a name="line.283"></a>
-<span class="sourceLineNo">284</span>  protected String filter;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.285"></a>
+<span class="sourceLineNo">284</span>  protected ServerManager serverManager;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    (getImplData()).setFilter(p_filter);<a name="line.287"></a>
+<span class="sourceLineNo">287</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.287"></a>
 <span class="sourceLineNo">288</span>    return this;<a name="line.288"></a>
 <span class="sourceLineNo">289</span>  }<a name="line.289"></a>
 <span class="sourceLineNo">290</span>  <a name="line.290"></a>
-<span class="sourceLineNo">291</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.292"></a>
+<span class="sourceLineNo">291</span>  protected ServerName metaLocation;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.292"></a>
 <span class="sourceLineNo">293</span>  {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    (getImplData()).setFrags(p_frags);<a name="line.294"></a>
+<span class="sourceLineNo">294</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.294"></a>
 <span class="sourceLineNo">295</span>    return this;<a name="line.295"></a>
 <span class="sourceLineNo">296</span>  }<a name="line.296"></a>
 <span class="sourceLineNo">297</span>  <a name="line.297"></a>
-<span class="sourceLineNo">298</span>  protected String format;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.299"></a>
+<span class="sourceLineNo">298</span>  protected List&lt;ServerName&gt; servers;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.299"></a>
 <span class="sourceLineNo">300</span>  {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    (getImplData()).setFormat(p_format);<a name="line.301"></a>
+<span class="sourceLineNo">301</span>    (getImplData()).setServers(p_servers);<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    return this;<a name="line.302"></a>
 <span class="sourceLineNo">303</span>  }<a name="line.303"></a>
 <span class="sourceLineNo">304</span>  <a name="line.304"></a>
-<span class="sourceLineNo">305</span>  protected AssignmentManager assignmentManager;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.306"></a>
+<span class="sourceLineNo">305</span>  protected boolean catalogJanitorEnabled;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.306"></a>
 <span class="sourceLineNo">307</span>  {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.308"></a>
+<span class="sourceLineNo">308</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.308"></a>
 <span class="sourceLineNo">309</span>    return this;<a name="line.309"></a>
 <span class="sourceLineNo">310</span>  }<a name="line.310"></a>
 <span class="sourceLineNo">311</span>  <a name="line.311"></a>
@@ -324,24 +324,24 @@
 <span class="sourceLineNo">316</span>    return this;<a name="line.316"></a>
 <span class="sourceLineNo">317</span>  }<a name="line.317"></a>
 <span class="sourceLineNo">318</span>  <a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected ServerName metaLocation;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.320"></a>
+<span class="sourceLineNo">319</span>  protected String format;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.320"></a>
 <span class="sourceLineNo">321</span>  {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.322"></a>
+<span class="sourceLineNo">322</span>    (getImplData()).setFormat(p_format);<a name="line.322"></a>
 <span class="sourceLineNo">323</span>    return this;<a name="line.323"></a>
 <span class="sourceLineNo">324</span>  }<a name="line.324"></a>
 <span class="sourceLineNo">325</span>  <a name="line.325"></a>
-<span class="sourceLineNo">326</span>  protected boolean catalogJanitorEnabled;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.327"></a>
+<span class="sourceLineNo">326</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.327"></a>
 <span class="sourceLineNo">328</span>  {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.329"></a>
+<span class="sourceLineNo">329</span>    (getImplData()).setFrags(p_frags);<a name="line.329"></a>
 <span class="sourceLineNo">330</span>    return this;<a name="line.330"></a>
 <span class="sourceLineNo">331</span>  }<a name="line.331"></a>
 <span class="sourceLineNo">332</span>  <a name="line.332"></a>
-<span class="sourceLineNo">333</span>  protected List&lt;ServerName&gt; servers;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.334"></a>
+<span class="sourceLineNo">333</span>  protected AssignmentManager assignmentManager;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.334"></a>
 <span class="sourceLineNo">335</span>  {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    (getImplData()).setServers(p_servers);<a name="line.336"></a>
+<span class="sourceLineNo">336</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.336"></a>
 <span class="sourceLineNo">337</span>    return this;<a name="line.337"></a>
 <span class="sourceLineNo">338</span>  }<a name="line.338"></a>
 <span class="sourceLineNo">339</span>  <a name="line.339"></a>


[16/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/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 5c8cf63..c6314d2 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -519,14 +519,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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/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.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>&lt;T&gt;)</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/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>&lt;T&gt;)</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/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/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/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>&lt;T&gt;)</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/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>&lt;T&gt;)</li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html b/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html
index 603e5fd..3639089 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.59">AbstractFSWALProvider.Reader</a>
+<pre>public static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.63">AbstractFSWALProvider.Reader</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a></pre>
 </li>
 </ul>
@@ -175,7 +175,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" tit
 <ul class="blockListLast">
 <li class="blockList">
 <h4>init</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html#line.66">init</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html#line.70">init</a>(org.apache.hadoop.fs.FileSystem&nbsp;fs,
           org.apache.hadoop.fs.Path&nbsp;path,
           org.apache.hadoop.conf.Configuration&nbsp;c,
           org.apache.hadoop.fs.FSDataInputStream&nbsp;s)

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
index 41f1200..150e940 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":6,"i2":6,"i3":9,"i4":9,"i5":10,"i6":9,"i7":10,"i8":9,"i9":9,"i10":9,"i11":10,"i12":9,"i13":9,"i14":10,"i15":10,"i16":9,"i17":9,"i18":9,"i19":9,"i20":10,"i21":9};
+var methods = {"i0":10,"i1":6,"i2":6,"i3":9,"i4":9,"i5":9,"i6":10,"i7":9,"i8":10,"i9":9,"i10":9,"i11":9,"i12":10,"i13":9,"i14":9,"i15":10,"i16":10,"i17":9,"i18":9,"i19":9,"i20":9,"i21":9,"i22":9,"i23":10,"i24":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
  <a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.54">AbstractFSWALProvider</a>&lt;T extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;?&gt;&gt;
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.58">AbstractFSWALProvider</a>&lt;T extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;?&gt;&gt;
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
 implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html" title="interface in org.apache.hadoop.hbase.wal">WALProvider</a></pre>
 <div class="block">Base class of a WAL Provider that returns a single thread safe WAL that writes to Hadoop FS. By
@@ -293,44 +293,51 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">getArchivedLogPath</a></span>(org.apache.hadoop.fs.Path&nbsp;path,
+                  org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
+<div class="block">Get the archived WAL file path</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">return the current filename from the current wal.</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a></span>()</code>
 <div class="block">iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the
  size of files (only rolled).</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">returns the size of rolled WAL files.</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a></span>()</code>
 <div class="block">iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the
  number of files (rolled and active).</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code>static int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">returns the number of rolled WAL files.</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)</code>
 <div class="block">Pulls a ServerName out of a Path generated according to our layout rules.</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a></span>(org.apache.hadoop.fs.Path&nbsp;logFile)</code>
 <div class="block">This function returns region server name from a log file name which is in one of the following
@@ -341,29 +348,29 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
  </div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-byte:A-byte:A-">getWAL</a></span>(byte[]&nbsp;identifier,
       byte[]&nbsp;namespace)</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>static <a href="http://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/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">getWALDirectoryName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverName)</code>
 <div class="block">Construct the directory name for all WALs on a given server.</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>static <a href="http://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/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</code>
 <div class="block">Get prefix of the log from its name, assuming WAL name in format of
  log_prefix.filenumber.log_suffix</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
     org.apache.hadoop.conf.Configuration&nbsp;conf,
@@ -372,31 +379,44 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <div class="block">Set up the provider to create wals.</div>
 </td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a></span>(org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a></span>(org.apache.hadoop.fs.Path&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p)</code>&nbsp;</td>
 </tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a></span>(org.apache.hadoop.fs.Path&nbsp;path,
+          org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
+<div class="block">Opens WAL reader with retries and
+ additional exception handling</div>
+</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#recoverLease-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.Path-">recoverLease</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+            org.apache.hadoop.fs.Path&nbsp;path)</code>&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
 <td class="colFirst"><code>(package private) static void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a></span>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</code>
 <div class="block">request a log roll, but don't actually do it.</div>
 </td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">persist outstanding WALs to storage and stop accepting new appends.</div>
 </td>
 </tr>
-<tr id="i21" class="rowColor">
+<tr id="i24" class="altColor">
 <td class="colFirst"><code>static boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</code>
 <div class="block">A WAL file name is of the format: &lt;wal-name&gt;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#WAL_FILE_NAME_DELIMITER"><code>WAL_FILE_NAME_DELIMITER</code></a>
@@ -431,7 +451,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <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/wal/AbstractFSWALProvider.html#line.56">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.60">LOG</a></pre>
 </li>
 </ul>
 <a name="wal">
@@ -440,7 +460,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>wal</h4>
-<pre>protected volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a> extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.69">wal</a></pre>
+<pre>protected volatile&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a> extends <a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.73">wal</a></pre>
 </li>
 </ul>
 <a name="factory">
@@ -449,7 +469,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>factory</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.70">factory</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.74">factory</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -458,7 +478,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>protected&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.71">conf</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.75">conf</a></pre>
 </li>
 </ul>
 <a name="listeners">
@@ -467,7 +487,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>listeners</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.72">listeners</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.76">listeners</a></pre>
 </li>
 </ul>
 <a name="providerId">
@@ -476,7 +496,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>providerId</h4>
-<pre>protected&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.73">providerId</a></pre>
+<pre>protected&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.77">providerId</a></pre>
 </li>
 </ul>
 <a name="initialized">
@@ -485,7 +505,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>initialized</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.74">initialized</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.78">initialized</a></pre>
 </li>
 </ul>
 <a name="logPrefix">
@@ -494,7 +514,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>logPrefix</h4>
-<pre>protected&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.76">logPrefix</a></pre>
+<pre>protected&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.80">logPrefix</a></pre>
 </li>
 </ul>
 <a name="walCreateLock">
@@ -503,7 +523,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>walCreateLock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.81">walCreateLock</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.85">walCreateLock</a></pre>
 <div class="block">we synchronized on walCreateLock to prevent wal recreation in different threads</div>
 </li>
 </ul>
@@ -513,7 +533,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>WAL_FILE_NAME_DELIMITER</h4>
-<pre>public static final&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.213">WAL_FILE_NAME_DELIMITER</a></pre>
+<pre>public static final&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.217">WAL_FILE_NAME_DELIMITER</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.AbstractFSWALProvider.WAL_FILE_NAME_DELIMITER">Constant Field Values</a></dd>
@@ -526,7 +546,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>META_WAL_PROVIDER_ID</h4>
-<pre>public static final&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.216">META_WAL_PROVIDER_ID</a></pre>
+<pre>public static final&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.220">META_WAL_PROVIDER_ID</a></pre>
 <div class="block">The hbase:meta region's WAL filename extension</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -540,7 +560,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_PROVIDER_ID</h4>
-<pre>static final&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.217">DEFAULT_PROVIDER_ID</a></pre>
+<pre>static final&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.221">DEFAULT_PROVIDER_ID</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.wal.AbstractFSWALProvider.DEFAULT_PROVIDER_ID">Constant Field Values</a></dd>
@@ -553,7 +573,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>SPLITTING_EXT</h4>
-<pre>public static final&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.221">SPLITTING_EXT</a></pre>
+<pre>public static final&nbsp;<a href="http://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/AbstractFSWALProvider.html#line.225">SPLITTING_EXT</a></pre>
 <div class="block">File Extension used while splitting an WAL into regions (HBASE-2312)</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -567,7 +587,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>pattern</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.243">pattern</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html?is-external=true" title="class or interface in java.util.regex">Pattern</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.247">pattern</a></pre>
 <div class="block">Pattern used to validate a WAL file name see <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-"><code>validateWALFilename(String)</code></a> for
  description.</div>
 </li>
@@ -586,7 +606,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AbstractFSWALProvider</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.54">AbstractFSWALProvider</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.58">AbstractFSWALProvider</a>()</pre>
 </li>
 </ul>
 </li>
@@ -603,7 +623,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>init</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.91">init</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.95">init</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.html" title="class in org.apache.hadoop.hbase.wal">WALFactory</a>&nbsp;factory,
                  org.apache.hadoop.conf.Configuration&nbsp;conf,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/wal/WALActionsListener.html" title="interface in org.apache.hadoop.hbase.regionserver.wal">WALActionsListener</a>&gt;&nbsp;listeners,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;providerId)
@@ -631,7 +651,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALs</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.114">getWALs</a>()
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.118">getWALs</a>()
                   throws <a href="http://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="overrideSpecifyLabel">Specified by:</span></dt>
@@ -649,7 +669,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWAL</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.124">getWAL</a>(byte[]&nbsp;identifier,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.128">getWAL</a>(byte[]&nbsp;identifier,
                 byte[]&nbsp;namespace)
          throws <a href="http://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>
@@ -671,7 +691,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>createWAL</h4>
-<pre>protected abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.140">createWAL</a>()
+<pre>protected abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="type parameter in AbstractFSWALProvider">T</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.144">createWAL</a>()
                         throws <a href="http://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>
@@ -685,7 +705,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>doInit</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.142">doInit</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
+<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.146">doInit</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)
                         throws <a href="http://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>
@@ -699,7 +719,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>shutdown</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.145">shutdown</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.149">shutdown</a>()
               throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#shutdown--">WALProvider</a></code></span></div>
 <div class="block">persist outstanding WALs to storage and stop accepting new appends.
@@ -719,7 +739,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.153">close</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.157">close</a>()
            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html#close--">WALProvider</a></code></span></div>
 <div class="block">shutdown utstanding WALs and clean up any persisted state.
@@ -739,7 +759,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumLogFiles</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.165">getNumLogFiles</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.169">getNumLogFiles</a>()</pre>
 <div class="block">iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the
  number of files (rolled and active). if either of them aren't, count 0 for that provider.</div>
 <dl>
@@ -754,7 +774,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogFileSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.175">getLogFileSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.179">getLogFileSize</a>()</pre>
 <div class="block">iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the
  size of files (only rolled). if either of them aren't, count 0 for that provider.</div>
 <dl>
@@ -769,7 +789,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumRolledLogFiles</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.184">getNumRolledLogFiles</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.188">getNumRolledLogFiles</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">returns the number of rolled WAL files.</div>
 </li>
 </ul>
@@ -779,7 +799,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getLogFileSize</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.192">getLogFileSize</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.196">getLogFileSize</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">returns the size of rolled WAL files.</div>
 </li>
 </ul>
@@ -789,7 +809,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentFileName</h4>
-<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.200">getCurrentFileName</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.204">getCurrentFileName</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">return the current filename from the current wal.</div>
 </li>
 </ul>
@@ -799,7 +819,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>requestLogRoll</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.208">requestLogRoll</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.212">requestLogRoll</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">request a log roll, but don't actually do it.</div>
 </li>
 </ul>
@@ -809,7 +829,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>extractFileNumFromWAL</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.230">extractFileNumFromWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.234">extractFileNumFromWAL</a>(<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.html" title="interface in org.apache.hadoop.hbase.wal">WAL</a>&nbsp;wal)</pre>
 <div class="block">It returns the file create timestamp from the file name. For name format see
  <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-"><code>validateWALFilename(String)</code></a> public until remaining tests move to o.a.h.h.wal</div>
 <dl>
@@ -826,7 +846,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>validateWALFilename</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.253">validateWALFilename</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.257">validateWALFilename</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filename)</pre>
 <div class="block">A WAL file name is of the format: &lt;wal-name&gt;<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#WAL_FILE_NAME_DELIMITER"><code>WAL_FILE_NAME_DELIMITER</code></a>
  &lt;file-creation-timestamp&gt;[.meta]. provider-name is usually made up of a server-name and a
  provider-id</div>
@@ -844,7 +864,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getWALDirectoryName</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/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/wal/AbstractFSWALProvider.html#line.264">getWALDirectoryName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverName)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/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/wal/AbstractFSWALProvider.html#line.268">getWALDirectoryName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverName)</pre>
 <div class="block">Construct the directory name for all WALs on a given server. Dir names currently look like
  this for WALs: <code>hbase//WALs/kalashnikov.att.net,61634,1486865297088</code>.</div>
 <dl>
@@ -862,7 +882,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerNameFromWALDirectoryName</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.280">getServerNameFromWALDirectoryName</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.284">getServerNameFromWALDirectoryName</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;path)
                                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Pulls a ServerName out of a Path generated according to our layout rules. In the below layouts,
@@ -885,7 +905,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerNameFromWALDirectoryName</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.337">getServerNameFromWALDirectoryName</a>(org.apache.hadoop.fs.Path&nbsp;logFile)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.341">getServerNameFromWALDirectoryName</a>(org.apache.hadoop.fs.Path&nbsp;logFile)</pre>
 <div class="block">This function returns region server name from a log file name which is in one of the following
  formats:
  <ul>
@@ -904,7 +924,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaFile</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.360">isMetaFile</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.364">isMetaFile</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
 </li>
 </ul>
 <a name="isMetaFile-java.lang.String-">
@@ -913,7 +933,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isMetaFile</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.364">isMetaFile</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.368">isMetaFile</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p)</pre>
 </li>
 </ul>
 <a name="isArchivedLogFile-org.apache.hadoop.fs.Path-">
@@ -922,7 +942,60 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>isArchivedLogFile</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.371">isArchivedLogFile</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.375">isArchivedLogFile</a>(org.apache.hadoop.fs.Path&nbsp;p)</pre>
+</li>
+</ul>
+<a name="getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getArchivedLogPath</h4>
+<pre>public static&nbsp;org.apache.hadoop.fs.Path&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.387">getArchivedLogPath</a>(org.apache.hadoop.fs.Path&nbsp;path,
+                                                           org.apache.hadoop.conf.Configuration&nbsp;conf)
+                                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Get the archived WAL file path</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>path</code> - - active WAL file path</dd>
+<dd><code>conf</code> - - configuration</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>archived path if exists, path - otherwise</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - exception</dd>
+</dl>
+</li>
+</ul>
+<a name="openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>openReader</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.411">openReader</a>(org.apache.hadoop.fs.Path&nbsp;path,
+                                    org.apache.hadoop.conf.Configuration&nbsp;conf)
+                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
+<div class="block">Opens WAL reader with retries and
+ additional exception handling</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>path</code> - path to WAL file</dd>
+<dd><code>conf</code> - configuration</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>WAL Reader instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://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="recoverLease-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.Path-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>recoverLease</h4>
+<pre>private static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#line.460">recoverLease</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+                                 org.apache.hadoop.fs.Path&nbsp;path)</pre>
 </li>
 </ul>
 <a name="getWALPrefixFromWALName-java.lang.String-">
@@ -931,7 +1004,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/wal/WALProvider.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getWALPrefixFromWALName</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/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/wal/AbstractFSWALProvider.html#line.383">getWALPrefixFromWALName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/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/wal/AbstractFSWALProvider.html#line.484">getWALPrefixFromWALName</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Get prefix of the log from its name, assuming WAL name in format of
  log_prefix.filenumber.log_suffix</div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html
index afc03ec..2669083 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/AsyncFSWALProvider.html
@@ -245,7 +245,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#extractFileNumFromWAL-org.apache.hadoop.hbase.wal.WAL-">extractFileNumFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a>, <a href="../../../../../org/apac
 he/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-byte:A-byte:A-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">getWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apa
 che.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#extractFileNumFromWAL-org.apache.hadoop.hbase.wal.WAL-">extractFileNumFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">getArchivedLogPath</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a>, <a hr
 ef="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-byte:A-byte:A-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">getWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a>, <a href="../../../../../org/apache/hadoop/hbas
 e/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a>, <a href=".
 ./../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html b/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html
index 068bb2a..1fe40d1 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/FSHLogProvider.html
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvide
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#extractFileNumFromWAL-org.apache.hadoop.hbase.wal.WAL-">extractFileNumFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a>, <a href="../../../../../org/apac
 he/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-byte:A-byte:A-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">getWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apa
 che.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#close--">close</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#extractFileNumFromWAL-org.apache.hadoop.hbase.wal.WAL-">extractFileNumFromWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">getArchivedLogPath</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getCurrentFileName-org.apache.hadoop.hbase.wal.WAL-">getCurrentFileName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize--">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getLogFileSize-org.apache.hadoop.hbase.wal.WAL-">getLogFileSize</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumLogFiles--">getNumLogFiles</a>, <a hr
 ef="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getNumRolledLogFiles-org.apache.hadoop.hbase.wal.WAL-">getNumRolledLogFiles</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.conf.Configuration-java.lang.String-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getServerNameFromWALDirectoryName-org.apache.hadoop.fs.Path-">getServerNameFromWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWAL-byte:A-byte:A-">getWAL</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALDirectoryName-java.lang.String-">getWALDirectoryName</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getWALPrefixFromWALName-java.lang.String-">getWALPrefixFromWALName</a>, <a href="../../../../../org/apache/hadoop/hbas
 e/wal/AbstractFSWALProvider.html#getWALs--">getWALs</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#init-org.apache.hadoop.hbase.wal.WALFactory-org.apache.hadoop.conf.Configuration-java.util.List-java.lang.String-">init</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isArchivedLogFile-org.apache.hadoop.fs.Path-">isArchivedLogFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-org.apache.hadoop.fs.Path-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#isMetaFile-java.lang.String-">isMetaFile</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#requestLogRoll-org.apache.hadoop.hbase.wal.WAL-">requestLogRoll</a>, <a href=".
 ./../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#shutdown--">shutdown</a>, <a href="../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#validateWALFilename-java.lang.String-">validateWALFilename</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html
index d8f1f47..cd95501 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/class-use/WAL.Reader.html
@@ -254,6 +254,14 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 <div class="block">Create a new <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal"><code>WAL.Reader</code></a> for reading logs to split.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../../org/apache/hadoop/hbase/wal/WAL.Reader.html" title="interface in org.apache.hadoop.hbase.wal">WAL.Reader</a></code></td>
+<td class="colLast"><span class="typeNameLabel">AbstractFSWALProvider.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader</a></span>(org.apache.hadoop.fs.Path&nbsp;path,
+          org.apache.hadoop.conf.Configuration&nbsp;conf)</code>
+<div class="block">Opens WAL reader with retries and
+ additional exception handling</div>
+</td>
+</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/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 06bdf49..84c85cc 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -166,8 +166,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALKey.Version</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>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal"><span class="typeNameLink">WALKey.Version</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>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/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 4f8adea..6a7f796 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 = "2.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = "e916b79db58bb9be806a833b2c0e675f1136c15a";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "910b68082c8f200f0ba6395a76b7ee1c8917e401";<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 Apr  4 14:37:58 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Wed Apr  5 01:29:07 UTC 2017";<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 = "6197575f20b638ea0a4de0e8af11c0f0";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "abb62fd425578aaaaccd0139f6be0772";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 


[07/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index a726c7e..7d5cbe4 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -69,15 +69,15 @@
 <span class="sourceLineNo">061</span>  requiredArguments = {<a name="line.61"></a>
 <span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
 <span class="sourceLineNo">063</span>  optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.68"></a>
 <span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<a name="line.72"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager")})<a name="line.72"></a>
 <span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
 <span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,91 +118,91 @@
 <span class="sourceLineNo">110</span>      return m_master;<a name="line.110"></a>
 <span class="sourceLineNo">111</span>    }<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    // 28, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void setServerManager(ServerManager serverManager)<a name="line.114"></a>
+<span class="sourceLineNo">113</span>    // 26, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    public void setFilter(String filter)<a name="line.114"></a>
 <span class="sourceLineNo">115</span>    {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      // 28, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      m_serverManager = serverManager;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      m_serverManager__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span>      // 26, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      m_filter = filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      m_filter__IsNotDefault = true;<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    public ServerManager getServerManager()<a name="line.120"></a>
+<span class="sourceLineNo">120</span>    public String getFilter()<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    {<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      return m_serverManager;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>      return m_filter;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    private ServerManager m_serverManager;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    public boolean getServerManager__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span>    private String m_filter;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    public boolean getFilter__IsNotDefault()<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      return m_serverManager__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span>      return m_filter__IsNotDefault;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    private boolean m_serverManager__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 26, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void setFilter(String filter)<a name="line.131"></a>
+<span class="sourceLineNo">129</span>    private boolean m_filter__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    // 28, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    public void setServerManager(ServerManager serverManager)<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 26, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      m_filter = filter;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      m_filter__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span>      // 28, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      m_serverManager = serverManager;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      m_serverManager__IsNotDefault = true;<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    public String getFilter()<a name="line.137"></a>
+<span class="sourceLineNo">137</span>    public ServerManager getServerManager()<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return m_filter;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>      return m_serverManager;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    private String m_filter;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean getFilter__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span>    private ServerManager m_serverManager;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean getServerManager__IsNotDefault()<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return m_filter__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span>      return m_serverManager__IsNotDefault;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>    }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    private boolean m_filter__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    // 21, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.148"></a>
+<span class="sourceLineNo">146</span>    private boolean m_serverManager__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 22, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.148"></a>
 <span class="sourceLineNo">149</span>    {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      // 21, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      m_frags = frags;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      m_frags__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span>      // 22, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      m_metaLocation = metaLocation;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      m_metaLocation__IsNotDefault = true;<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    public ServerName getMetaLocation()<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      return m_frags;<a name="line.156"></a>
+<span class="sourceLineNo">156</span>      return m_metaLocation;<a name="line.156"></a>
 <span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    public boolean getFrags__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span>    private ServerName m_metaLocation;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return m_frags__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>      return m_metaLocation__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    private boolean m_frags__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    // 27, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public void setFormat(String format)<a name="line.165"></a>
+<span class="sourceLineNo">163</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 23, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>      // 27, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span>      m_format = format;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      m_format__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span>      // 23, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      m_servers = servers;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      m_servers__IsNotDefault = true;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public String getFormat()<a name="line.171"></a>
+<span class="sourceLineNo">171</span>    public List&lt;ServerName&gt; getServers()<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return m_format;<a name="line.173"></a>
+<span class="sourceLineNo">173</span>      return m_servers;<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    private String m_format;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    public boolean getFormat__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span>    private List&lt;ServerName&gt; m_servers;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    public boolean getServers__IsNotDefault()<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return m_format__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span>      return m_servers__IsNotDefault;<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    private boolean m_format__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    // 29, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.182"></a>
+<span class="sourceLineNo">180</span>    private boolean m_servers__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    // 25, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.182"></a>
 <span class="sourceLineNo">183</span>    {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      // 29, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      m_assignmentManager = assignmentManager;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      m_assignmentManager__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span>      // 25, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    public AssignmentManager getAssignmentManager()<a name="line.188"></a>
+<span class="sourceLineNo">188</span>    public boolean getCatalogJanitorEnabled()<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    {<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      return m_assignmentManager;<a name="line.190"></a>
+<span class="sourceLineNo">190</span>      return m_catalogJanitorEnabled;<a name="line.190"></a>
 <span class="sourceLineNo">191</span>    }<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    private AssignmentManager m_assignmentManager;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span>    private boolean m_catalogJanitorEnabled;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      return m_assignmentManager__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
 <span class="sourceLineNo">196</span>    }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">197</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    // 24, 1<a name="line.198"></a>
 <span class="sourceLineNo">199</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    {<a name="line.200"></a>
@@ -220,57 +220,57 @@
 <span class="sourceLineNo">212</span>      return m_deadServers__IsNotDefault;<a name="line.212"></a>
 <span class="sourceLineNo">213</span>    }<a name="line.213"></a>
 <span class="sourceLineNo">214</span>    private boolean m_deadServers__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // 22, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.216"></a>
+<span class="sourceLineNo">215</span>    // 27, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public void setFormat(String format)<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      // 22, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      m_metaLocation = metaLocation;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      m_metaLocation__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span>      // 27, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      m_format = format;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      m_format__IsNotDefault = true;<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    public ServerName getMetaLocation()<a name="line.222"></a>
+<span class="sourceLineNo">222</span>    public String getFormat()<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return m_metaLocation;<a name="line.224"></a>
+<span class="sourceLineNo">224</span>      return m_format;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    private ServerName m_metaLocation;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span>    private String m_format;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    public boolean getFormat__IsNotDefault()<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return m_metaLocation__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>      return m_format__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // 25, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.233"></a>
+<span class="sourceLineNo">231</span>    private boolean m_format__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    // 21, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      // 25, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span>      // 21, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      m_frags = frags;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      m_frags__IsNotDefault = true;<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    public boolean getCatalogJanitorEnabled()<a name="line.239"></a>
+<span class="sourceLineNo">239</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return m_catalogJanitorEnabled;<a name="line.241"></a>
+<span class="sourceLineNo">241</span>      return m_frags;<a name="line.241"></a>
 <span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private boolean m_catalogJanitorEnabled;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public boolean getFrags__IsNotDefault()<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span>      return m_frags__IsNotDefault;<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    // 23, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.250"></a>
+<span class="sourceLineNo">248</span>    private boolean m_frags__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    // 29, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      // 23, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      m_servers = servers;<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      m_servers__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span>      // 29, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      m_assignmentManager = assignmentManager;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      m_assignmentManager__IsNotDefault = true;<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public List&lt;ServerName&gt; getServers()<a name="line.256"></a>
+<span class="sourceLineNo">256</span>    public AssignmentManager getAssignmentManager()<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return m_servers;<a name="line.258"></a>
+<span class="sourceLineNo">258</span>      return m_assignmentManager;<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    private List&lt;ServerName&gt; m_servers;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    public boolean getServers__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span>    private AssignmentManager m_assignmentManager;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return m_servers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      return m_assignmentManager__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private boolean m_servers__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  }<a name="line.266"></a>
 <span class="sourceLineNo">267</span>  @Override<a name="line.267"></a>
 <span class="sourceLineNo">268</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,38 +282,38 @@
 <span class="sourceLineNo">274</span>    return (ImplData) super.getImplData();<a name="line.274"></a>
 <span class="sourceLineNo">275</span>  }<a name="line.275"></a>
 <span class="sourceLineNo">276</span>  <a name="line.276"></a>
-<span class="sourceLineNo">277</span>  protected ServerManager serverManager;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.278"></a>
+<span class="sourceLineNo">277</span>  protected String filter;<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.278"></a>
 <span class="sourceLineNo">279</span>  {<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.280"></a>
+<span class="sourceLineNo">280</span>    (getImplData()).setFilter(p_filter);<a name="line.280"></a>
 <span class="sourceLineNo">281</span>    return this;<a name="line.281"></a>
 <span class="sourceLineNo">282</span>  }<a name="line.282"></a>
 <span class="sourceLineNo">283</span>  <a name="line.283"></a>
-<span class="sourceLineNo">284</span>  protected String filter;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.285"></a>
+<span class="sourceLineNo">284</span>  protected ServerManager serverManager;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    (getImplData()).setFilter(p_filter);<a name="line.287"></a>
+<span class="sourceLineNo">287</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.287"></a>
 <span class="sourceLineNo">288</span>    return this;<a name="line.288"></a>
 <span class="sourceLineNo">289</span>  }<a name="line.289"></a>
 <span class="sourceLineNo">290</span>  <a name="line.290"></a>
-<span class="sourceLineNo">291</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.292"></a>
+<span class="sourceLineNo">291</span>  protected ServerName metaLocation;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.292"></a>
 <span class="sourceLineNo">293</span>  {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    (getImplData()).setFrags(p_frags);<a name="line.294"></a>
+<span class="sourceLineNo">294</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.294"></a>
 <span class="sourceLineNo">295</span>    return this;<a name="line.295"></a>
 <span class="sourceLineNo">296</span>  }<a name="line.296"></a>
 <span class="sourceLineNo">297</span>  <a name="line.297"></a>
-<span class="sourceLineNo">298</span>  protected String format;<a name="line.298"></a>
-<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.299"></a>
+<span class="sourceLineNo">298</span>  protected List&lt;ServerName&gt; servers;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.299"></a>
 <span class="sourceLineNo">300</span>  {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    (getImplData()).setFormat(p_format);<a name="line.301"></a>
+<span class="sourceLineNo">301</span>    (getImplData()).setServers(p_servers);<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    return this;<a name="line.302"></a>
 <span class="sourceLineNo">303</span>  }<a name="line.303"></a>
 <span class="sourceLineNo">304</span>  <a name="line.304"></a>
-<span class="sourceLineNo">305</span>  protected AssignmentManager assignmentManager;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.306"></a>
+<span class="sourceLineNo">305</span>  protected boolean catalogJanitorEnabled;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.306"></a>
 <span class="sourceLineNo">307</span>  {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.308"></a>
+<span class="sourceLineNo">308</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.308"></a>
 <span class="sourceLineNo">309</span>    return this;<a name="line.309"></a>
 <span class="sourceLineNo">310</span>  }<a name="line.310"></a>
 <span class="sourceLineNo">311</span>  <a name="line.311"></a>
@@ -324,24 +324,24 @@
 <span class="sourceLineNo">316</span>    return this;<a name="line.316"></a>
 <span class="sourceLineNo">317</span>  }<a name="line.317"></a>
 <span class="sourceLineNo">318</span>  <a name="line.318"></a>
-<span class="sourceLineNo">319</span>  protected ServerName metaLocation;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.320"></a>
+<span class="sourceLineNo">319</span>  protected String format;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.320"></a>
 <span class="sourceLineNo">321</span>  {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.322"></a>
+<span class="sourceLineNo">322</span>    (getImplData()).setFormat(p_format);<a name="line.322"></a>
 <span class="sourceLineNo">323</span>    return this;<a name="line.323"></a>
 <span class="sourceLineNo">324</span>  }<a name="line.324"></a>
 <span class="sourceLineNo">325</span>  <a name="line.325"></a>
-<span class="sourceLineNo">326</span>  protected boolean catalogJanitorEnabled;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.327"></a>
+<span class="sourceLineNo">326</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.327"></a>
 <span class="sourceLineNo">328</span>  {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.329"></a>
+<span class="sourceLineNo">329</span>    (getImplData()).setFrags(p_frags);<a name="line.329"></a>
 <span class="sourceLineNo">330</span>    return this;<a name="line.330"></a>
 <span class="sourceLineNo">331</span>  }<a name="line.331"></a>
 <span class="sourceLineNo">332</span>  <a name="line.332"></a>
-<span class="sourceLineNo">333</span>  protected List&lt;ServerName&gt; servers;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.334"></a>
+<span class="sourceLineNo">333</span>  protected AssignmentManager assignmentManager;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.334"></a>
 <span class="sourceLineNo">335</span>  {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    (getImplData()).setServers(p_servers);<a name="line.336"></a>
+<span class="sourceLineNo">336</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.336"></a>
 <span class="sourceLineNo">337</span>    return this;<a name="line.337"></a>
 <span class="sourceLineNo">338</span>  }<a name="line.338"></a>
 <span class="sourceLineNo">339</span>  <a name="line.339"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index 65f05e3..cf349d9 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -70,15 +70,15 @@
 <span class="sourceLineNo">062</span><a name="line.62"></a>
 <span class="sourceLineNo">063</span>{<a name="line.63"></a>
 <span class="sourceLineNo">064</span>  private final HMaster master;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  private final ServerManager serverManager;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  private final String filter;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private final Map&lt;String,Integer&gt; frags;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private final String format;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  private final AssignmentManager assignmentManager;<a name="line.69"></a>
+<span class="sourceLineNo">065</span>  private final String filter;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  private final ServerManager serverManager;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  private final ServerName metaLocation;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private final List&lt;ServerName&gt; servers;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private final boolean catalogJanitorEnabled;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>  private final Set&lt;ServerName&gt; deadServers;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private final ServerName metaLocation;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private final boolean catalogJanitorEnabled;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private final List&lt;ServerName&gt; servers;<a name="line.73"></a>
+<span class="sourceLineNo">071</span>  private final String format;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private final Map&lt;String,Integer&gt; frags;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private final AssignmentManager assignmentManager;<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  // 69, 1<a name="line.74"></a>
 <span class="sourceLineNo">075</span>  <a name="line.75"></a>
 <span class="sourceLineNo">076</span>  public String formatZKString() {<a name="line.76"></a>
@@ -108,41 +108,41 @@
 <span class="sourceLineNo">100</span><a name="line.100"></a>
 <span class="sourceLineNo">101</span>  protected static org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData p_implData)<a name="line.101"></a>
 <span class="sourceLineNo">102</span>  {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    if(! p_implData.getServerManager__IsNotDefault())<a name="line.103"></a>
+<span class="sourceLineNo">103</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      p_implData.setServerManager(null);<a name="line.105"></a>
+<span class="sourceLineNo">105</span>      p_implData.setFilter("general");<a name="line.105"></a>
 <span class="sourceLineNo">106</span>    }<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.107"></a>
+<span class="sourceLineNo">107</span>    if(! p_implData.getServerManager__IsNotDefault())<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      p_implData.setFilter("general");<a name="line.109"></a>
+<span class="sourceLineNo">109</span>      p_implData.setServerManager(null);<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    }<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    if(! p_implData.getFrags__IsNotDefault())<a name="line.111"></a>
+<span class="sourceLineNo">111</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      p_implData.setFrags(null);<a name="line.113"></a>
+<span class="sourceLineNo">113</span>      p_implData.setMetaLocation(null);<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.115"></a>
+<span class="sourceLineNo">115</span>    if(! p_implData.getServers__IsNotDefault())<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      p_implData.setFormat("html");<a name="line.117"></a>
+<span class="sourceLineNo">117</span>      p_implData.setServers(null);<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    }<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.119"></a>
+<span class="sourceLineNo">119</span>    if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.119"></a>
 <span class="sourceLineNo">120</span>    {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      p_implData.setAssignmentManager(null);<a name="line.121"></a>
+<span class="sourceLineNo">121</span>      p_implData.setCatalogJanitorEnabled(true);<a name="line.121"></a>
 <span class="sourceLineNo">122</span>    }<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    if(! p_implData.getDeadServers__IsNotDefault())<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    {<a name="line.124"></a>
 <span class="sourceLineNo">125</span>      p_implData.setDeadServers(null);<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.127"></a>
+<span class="sourceLineNo">127</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      p_implData.setMetaLocation(null);<a name="line.129"></a>
+<span class="sourceLineNo">129</span>      p_implData.setFormat("html");<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    }<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.131"></a>
+<span class="sourceLineNo">131</span>    if(! p_implData.getFrags__IsNotDefault())<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      p_implData.setCatalogJanitorEnabled(true);<a name="line.133"></a>
+<span class="sourceLineNo">133</span>      p_implData.setFrags(null);<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    if(! p_implData.getServers__IsNotDefault())<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      p_implData.setServers(null);<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      p_implData.setAssignmentManager(null);<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
 <span class="sourceLineNo">139</span>    return p_implData;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
@@ -150,15 +150,15 @@
 <span class="sourceLineNo">142</span>  {<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.143"></a>
 <span class="sourceLineNo">144</span>    master = p_implData.getMaster();<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    serverManager = p_implData.getServerManager();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    filter = p_implData.getFilter();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    frags = p_implData.getFrags();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    format = p_implData.getFormat();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    assignmentManager = p_implData.getAssignmentManager();<a name="line.149"></a>
+<span class="sourceLineNo">145</span>    filter = p_implData.getFilter();<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    serverManager = p_implData.getServerManager();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    metaLocation = p_implData.getMetaLocation();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    servers = p_implData.getServers();<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.149"></a>
 <span class="sourceLineNo">150</span>    deadServers = p_implData.getDeadServers();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    metaLocation = p_implData.getMetaLocation();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    servers = p_implData.getServers();<a name="line.153"></a>
+<span class="sourceLineNo">151</span>    format = p_implData.getFormat();<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    frags = p_implData.getFrags();<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    assignmentManager = p_implData.getAssignmentManager();<a name="line.153"></a>
 <span class="sourceLineNo">154</span>  }<a name="line.154"></a>
 <span class="sourceLineNo">155</span>  <a name="line.155"></a>
 <span class="sourceLineNo">156</span>  @Override public void renderNoFlush(final java.io.Writer jamonWriter)<a name="line.156"></a>
@@ -172,8 +172,8 @@
 <span class="sourceLineNo">164</span>      // 61, 3<a name="line.164"></a>
 <span class="sourceLineNo">165</span>      {<a name="line.165"></a>
 <span class="sourceLineNo">166</span>        org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_0 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());<a name="line.166"></a>
-<span class="sourceLineNo">167</span>        __jamon__var_0.setFilter(filter);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>        __jamon__var_0.setFormat("json" );<a name="line.168"></a>
+<span class="sourceLineNo">167</span>        __jamon__var_0.setFormat("json" );<a name="line.167"></a>
+<span class="sourceLineNo">168</span>        __jamon__var_0.setFilter(filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>        __jamon__var_0.renderNoFlush(jamonWriter);<a name="line.169"></a>
 <span class="sourceLineNo">170</span>      }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>      // 61, 68<a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index 9be600e..b947231 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -33,10 +33,10 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String")})<a name="line.31"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
 <span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,74 +77,74 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 22, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setFormat(String format)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 22, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_format__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getFormat()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_format;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_format;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getFormat__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_format__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    // 22, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    public void setFormat(String format)<a name="line.90"></a>
+<span class="sourceLineNo">088</span>    private boolean m_format__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // 23, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    public void setBcn(String bcn)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      // 22, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      m_format = format;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      m_format__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span>      // 23, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcn = bcn;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcn__IsNotDefault = true;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getFormat()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getBcn()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_format;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_bcn;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private String m_format;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public boolean getFormat__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    private String m_bcn;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcn__IsNotDefault()<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_format__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_bcn__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_format__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 24, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcv(String bcv)<a name="line.107"></a>
+<span class="sourceLineNo">105</span>    private boolean m_bcn__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    // 21, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFilter(String filter)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 24, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcv = bcv;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcv__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 21, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_filter = filter;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_filter__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcv()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFilter()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcv;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_filter;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcv;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcv__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFilter__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcv__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_filter__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcv__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 23, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public void setBcn(String bcn)<a name="line.124"></a>
+<span class="sourceLineNo">122</span>    private boolean m_filter__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    // 24, 1<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void setBcv(String bcv)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      // 23, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      m_bcn = bcn;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      m_bcn__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span>      // 24, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      m_bcv = bcv;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      m_bcv__IsNotDefault = true;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String getBcn()<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    public String getBcv()<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      return m_bcn;<a name="line.132"></a>
+<span class="sourceLineNo">132</span>      return m_bcv;<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    private String m_bcn;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public boolean getBcn__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span>    private String m_bcv;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    public boolean getBcv__IsNotDefault()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_bcn__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_bcv__IsNotDefault;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private boolean m_bcn__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>    private boolean m_bcv__IsNotDefault;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,31 +156,31 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String format;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setFormat(p_format);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<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>  protected String format;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.159"></a>
+<span class="sourceLineNo">158</span>  protected String bcn;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.159"></a>
 <span class="sourceLineNo">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setFormat(p_format);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setBcn(p_bcn);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcv;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String filter;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcv(p_bcv);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFilter(p_filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<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>  protected String bcn;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.173"></a>
+<span class="sourceLineNo">172</span>  protected String bcv;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.173"></a>
 <span class="sourceLineNo">174</span>  {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    (getImplData()).setBcn(p_bcn);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>    (getImplData()).setBcv(p_bcv);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    return this;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>  <a name="line.178"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
index 9be600e..b947231 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
@@ -33,10 +33,10 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String")})<a name="line.31"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
 <span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,74 +77,74 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 22, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setFormat(String format)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 22, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_format__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getFormat()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_format;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_format;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getFormat__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_format__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    // 22, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    public void setFormat(String format)<a name="line.90"></a>
+<span class="sourceLineNo">088</span>    private boolean m_format__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // 23, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    public void setBcn(String bcn)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      // 22, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      m_format = format;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      m_format__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span>      // 23, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcn = bcn;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcn__IsNotDefault = true;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getFormat()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getBcn()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_format;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_bcn;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private String m_format;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public boolean getFormat__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    private String m_bcn;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcn__IsNotDefault()<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_format__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_bcn__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_format__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 24, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcv(String bcv)<a name="line.107"></a>
+<span class="sourceLineNo">105</span>    private boolean m_bcn__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    // 21, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFilter(String filter)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 24, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcv = bcv;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcv__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 21, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_filter = filter;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_filter__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcv()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFilter()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcv;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_filter;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcv;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcv__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFilter__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcv__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_filter__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcv__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 23, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public void setBcn(String bcn)<a name="line.124"></a>
+<span class="sourceLineNo">122</span>    private boolean m_filter__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    // 24, 1<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void setBcv(String bcv)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      // 23, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      m_bcn = bcn;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      m_bcn__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span>      // 24, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      m_bcv = bcv;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      m_bcv__IsNotDefault = true;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String getBcn()<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    public String getBcv()<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      return m_bcn;<a name="line.132"></a>
+<span class="sourceLineNo">132</span>      return m_bcv;<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    private String m_bcn;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public boolean getBcn__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span>    private String m_bcv;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    public boolean getBcv__IsNotDefault()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_bcn__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_bcv__IsNotDefault;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private boolean m_bcn__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>    private boolean m_bcv__IsNotDefault;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,31 +156,31 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String format;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setFormat(p_format);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<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>  protected String format;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.159"></a>
+<span class="sourceLineNo">158</span>  protected String bcn;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.159"></a>
 <span class="sourceLineNo">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setFormat(p_format);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setBcn(p_bcn);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcv;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String filter;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcv(p_bcv);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFilter(p_filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<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>  protected String bcn;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.173"></a>
+<span class="sourceLineNo">172</span>  protected String bcv;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.173"></a>
 <span class="sourceLineNo">174</span>  {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    (getImplData()).setBcn(p_bcn);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>    (getImplData()).setBcv(p_bcv);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    return this;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>  <a name="line.178"></a>


[11/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
index bff248e..7c76f46 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALKeyValueMapper.html
@@ -66,7 +66,7 @@
 <span class="sourceLineNo">058</span>/**<a name="line.58"></a>
 <span class="sourceLineNo">059</span> * A tool to replay WAL files as a M/R job.<a name="line.59"></a>
 <span class="sourceLineNo">060</span> * The WAL can be replayed for a set of tables or all tables,<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * and a timerange can be provided (in milliseconds).<a name="line.61"></a>
+<span class="sourceLineNo">061</span> * and a time range can be provided (in milliseconds).<a name="line.61"></a>
 <span class="sourceLineNo">062</span> * The WAL is filtered to the passed set of tables and  the output<a name="line.62"></a>
 <span class="sourceLineNo">063</span> * can optionally be mapped to another set of tables.<a name="line.63"></a>
 <span class="sourceLineNo">064</span> *<a name="line.64"></a>
@@ -81,313 +81,317 @@
 <span class="sourceLineNo">073</span>  public final static String BULK_OUTPUT_CONF_KEY = "wal.bulk.output";<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  public final static String TABLES_KEY = "wal.input.tables";<a name="line.74"></a>
 <span class="sourceLineNo">075</span>  public final static String TABLE_MAP_KEY = "wal.input.tablesmap";<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  // This relies on Hadoop Configuration to handle warning about deprecated configs and<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  // to set the correct non-deprecated configs when an old one shows up.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  static {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    Configuration.addDeprecation("hlog.bulk.output", BULK_OUTPUT_CONF_KEY);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Configuration.addDeprecation("hlog.input.tables", TABLES_KEY);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    Configuration.addDeprecation("hlog.input.tablesmap", TABLE_MAP_KEY);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final static String JOB_NAME_CONF_KEY = "mapreduce.job.name";<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>  public WALPlayer(){<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
+<span class="sourceLineNo">076</span>  public final static String INPUT_FILES_SEPARATOR_KEY = "wal.input.separator";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public final static String IGNORE_MISSING_FILES = "wal.input.ignore.missing.files";<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  // This relies on Hadoop Configuration to handle warning about deprecated configs and<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  // to set the correct non-deprecated configs when an old one shows up.<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  static {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    Configuration.addDeprecation("hlog.bulk.output", BULK_OUTPUT_CONF_KEY);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    Configuration.addDeprecation("hlog.input.tables", TABLES_KEY);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    Configuration.addDeprecation("hlog.input.tablesmap", TABLE_MAP_KEY);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final static String JOB_NAME_CONF_KEY = "mapreduce.job.name";<a name="line.88"></a>
 <span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  protected WALPlayer(final Configuration c) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    super(c);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * A mapper that just writes out KeyValues.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  static class WALKeyValueMapper<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private byte[] table;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>    @Override<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    public void map(WALKey key, WALEdit value,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      Context context)<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    throws IOException {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      try {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>        // skip all other tables<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>          for (Cell cell : value.getCells()) {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>            if (WALEdit.isMetaEditFamily(kv)) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>              continue;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>            }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      } catch (InterruptedException e) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        e.printStackTrace();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      }<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>    @Override<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public void setup(Context context) throws IOException {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (tables == null || tables.length != 1) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      table = Bytes.toBytes(tables[0]);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  /**<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * a running HBase instance.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  protected static class WALMapper<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;&gt;();<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>    @Override<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    throws IOException {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>          TableName targetTable = tables.isEmpty() ?<a name="line.147"></a>
-<span class="sourceLineNo">148</span>                key.getTablename() :<a name="line.148"></a>
-<span class="sourceLineNo">149</span>                tables.get(key.getTablename());<a name="line.149"></a>
-<span class="sourceLineNo">150</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          Put put = null;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>          Delete del = null;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          Cell lastCell = null;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>          for (Cell cell : value.getCells()) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>            // filtering WAL meta entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>              continue;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>            }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>            // Allow a subclass filter out this cell.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>            if (filter(context, cell)) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.162"></a>
-<span class="sourceLineNo">163</span>              // multiple rows (HBASE-5229).<a name="line.163"></a>
-<span class="sourceLineNo">164</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.164"></a>
-<span class="sourceLineNo">165</span>              // operation before writing to the context.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.166"></a>
-<span class="sourceLineNo">167</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>                // row or type changed, write out aggregate KVs.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>                if (put != null) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>                  context.write(tableOut, put);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>                }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                if (del != null) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>                  context.write(tableOut, del);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>                }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>                if (CellUtil.isDelete(cell)) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.176"></a>
-<span class="sourceLineNo">177</span>                } else {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>                  put = new Put(CellUtil.cloneRow(cell));<a name="line.178"></a>
+<span class="sourceLineNo">090</span>  public WALPlayer(){<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  protected WALPlayer(final Configuration c) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    super(c);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * A mapper that just writes out KeyValues.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  static class WALKeyValueMapper<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    private byte[] table;<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>    @Override<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    public void map(WALKey key, WALEdit value,<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      Context context)<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    throws IOException {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      try {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        // skip all other tables<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>          for (Cell cell : value.getCells()) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>            if (WALEdit.isMetaEditFamily(kv)) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>              continue;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>            }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        }<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      } catch (InterruptedException e) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        e.printStackTrace();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    @Override<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    public void setup(Context context) throws IOException {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      if (tables == null || tables.length != 1) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      table = Bytes.toBytes(tables[0]);<a name="line.133"></a>
+<span class="sourceLineNo">134</span><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><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * a running HBase instance.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  protected static class WALMapper<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;&gt;();<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>    @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    throws IOException {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      try {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>          TableName targetTable = tables.isEmpty() ?<a name="line.152"></a>
+<span class="sourceLineNo">153</span>                key.getTablename() :<a name="line.153"></a>
+<span class="sourceLineNo">154</span>                tables.get(key.getTablename());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          Put put = null;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>          Delete del = null;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>          Cell lastCell = null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          for (Cell cell : value.getCells()) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>            // filtering WAL meta entries<a name="line.160"></a>
+<span class="sourceLineNo">161</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>              continue;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>            }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>            // Allow a subclass filter out this cell.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>            if (filter(context, cell)) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.167"></a>
+<span class="sourceLineNo">168</span>              // multiple rows (HBASE-5229).<a name="line.168"></a>
+<span class="sourceLineNo">169</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.169"></a>
+<span class="sourceLineNo">170</span>              // operation before writing to the context.<a name="line.170"></a>
+<span class="sourceLineNo">171</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.171"></a>
+<span class="sourceLineNo">172</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                // row or type changed, write out aggregate KVs.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>                if (put != null) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>                  context.write(tableOut, put);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>                }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>                if (del != null) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>                  context.write(tableOut, del);<a name="line.178"></a>
 <span class="sourceLineNo">179</span>                }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>              }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>              if (CellUtil.isDelete(cell)) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>                del.addDeleteMarker(cell);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>              } else {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>                put.add(cell);<a name="line.184"></a>
+<span class="sourceLineNo">180</span>                if (CellUtil.isDelete(cell)) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>                } else {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>                  put = new Put(CellUtil.cloneRow(cell));<a name="line.183"></a>
+<span class="sourceLineNo">184</span>                }<a name="line.184"></a>
 <span class="sourceLineNo">185</span>              }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>            }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>            lastCell = cell;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>          }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          // write residual KVs<a name="line.189"></a>
-<span class="sourceLineNo">190</span>          if (put != null) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>            context.write(tableOut, put);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>          }<a name="line.192"></a>
-<span class="sourceLineNo">193</span>          if (del != null) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>            context.write(tableOut, del);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>          }<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      } catch (InterruptedException e) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        e.printStackTrace();<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return true;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    @Override<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    protected void<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        cleanup(Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt;.Context context)<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            throws IOException, InterruptedException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      super.cleanup(context);<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>    public void setup(Context context) throws IOException {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      if (tableMap == null) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        tableMap = tablesToUse;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      if (tablesToUse == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        // Then user wants all tables.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      } else if (tablesToUse.length != tableMap.length) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        throw new IOException("Incorrect table mapping specified .");<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      int i = 0;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      if (tablesToUse != null) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        for (String table : tablesToUse) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>          tables.put(TableName.valueOf(table),<a name="line.229"></a>
-<span class="sourceLineNo">230</span>            TableName.valueOf(tableMap[i++]));<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    String val = conf.get(option);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    if (null == val) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    long ms;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    try {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      // first try to parse in user friendly form<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    } catch (ParseException pe) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      try {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        // then see if just a number of ms's was specified<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        ms = Long.parseLong(val);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      } catch (NumberFormatException nfe) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        throw new IOException(option<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            + "or as number of milliseconds");<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>    conf.setLong(option, ms);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  /**<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * Sets up the actual job.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   *<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @param args  The command line parameters.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   * @return The newly created job.<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @throws IOException When setting up the job fails.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    Configuration conf = getConf();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    String inputDirs = args[0];<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    String[] tables = args[1].split(",");<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    String[] tableMap;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    if (args.length &gt; 2) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      tableMap = args[2].split(",");<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      if (tableMap.length != tables.length) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // if not mapping is specified map each table to itself<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      tableMap = tables;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + System.currentTimeMillis()));<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    job.setJarByClass(WALPlayer.class);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>    FileInputFormat.addInputPaths(job, inputDirs);<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (hfileOutPath != null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      LOG.debug("add incremental job :" + hfileOutPath + " from " + inputDirs);<a name="line.293"></a>
+<span class="sourceLineNo">186</span>              if (CellUtil.isDelete(cell)) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>                del.addDeleteMarker(cell);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>              } else {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>                put.add(cell);<a name="line.189"></a>
+<span class="sourceLineNo">190</span>              }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>            lastCell = cell;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>          }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>          // write residual KVs<a name="line.194"></a>
+<span class="sourceLineNo">195</span>          if (put != null) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>            context.write(tableOut, put);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>          if (del != null) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            context.write(tableOut, del);<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      } catch (InterruptedException e) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>        e.printStackTrace();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    }<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return true;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>    @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    protected void<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        cleanup(Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt;.Context context)<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            throws IOException, InterruptedException {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      super.cleanup(context);<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>    public void setup(Context context) throws IOException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      if (tableMap == null) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        tableMap = tablesToUse;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      }<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      if (tablesToUse == null) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        // Then user wants all tables.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      } else if (tablesToUse.length != tableMap.length) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.228"></a>
+<span class="sourceLineNo">229</span>        throw new IOException("Incorrect table mapping specified .");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      int i = 0;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      if (tablesToUse != null) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>        for (String table : tablesToUse) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>          tables.put(TableName.valueOf(table),<a name="line.234"></a>
+<span class="sourceLineNo">235</span>            TableName.valueOf(tableMap[i++]));<a name="line.235"></a>
+<span class="sourceLineNo">236</span>        }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      }<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    String val = conf.get(option);<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (null == val) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      return;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    long ms;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    try {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      // first try to parse in user friendly form<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    } catch (ParseException pe) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      try {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        // then see if just a number of ms's was specified<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        ms = Long.parseLong(val);<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      } catch (NumberFormatException nfe) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        throw new IOException(option<a name="line.255"></a>
+<span class="sourceLineNo">256</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.256"></a>
+<span class="sourceLineNo">257</span>            + "or as number of milliseconds");<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>    conf.setLong(option, ms);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * Sets up the actual job.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   *<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * @param args  The command line parameters.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * @return The newly created job.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @throws IOException When setting up the job fails.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    Configuration conf = getConf();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    String inputDirs = args[0];<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    String[] tables = args[1].split(",");<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    String[] tableMap;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    if (args.length &gt; 2) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      tableMap = args[2].split(",");<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      if (tableMap.length != tables.length) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    } else {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      // if not mapping is specified map each table to itself<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      tableMap = tables;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    conf.set(FileInputFormat.INPUT_DIR, inputDirs);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + System.currentTimeMillis()));<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    job.setJarByClass(WALPlayer.class);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>      // the bulk HFile case<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      if (tables.length != 1) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      Path outputDir = new Path(hfileOutPath);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          Table table = conn.getTable(tableName);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      }<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          com.google.common.base.Preconditions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    } else {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // output to live cluster<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      job.setMapperClass(WALMapper.class);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      TableMapReduceUtil.initCredentials(job);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      // No reducers.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      job.setNumReduceTasks(0);<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    try {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    } catch (Exception e) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    return job;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * Print usage<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @param errorMsg Error message.  Can be null.<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  private void usage(final String errorMsg) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      System.err.println("ERROR: " + errorMsg);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    System.err.println("(Careful, even hbase:meta entries will be imported"+<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      " in that case.)");<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    System.err.println("For performance also consider the following options:\n"<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      + "  -Dmapreduce.map.speculative=false\n"<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      + "  -Dmapreduce.reduce.speculative=false");<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * Main entry point.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   *<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @param args  The command line parameters.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @throws Exception When running the job fails.<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  public static void main(String[] args) throws Exception {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    System.exit(ret);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  public int run(String[] args) throws Exception {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    if (args.length &lt; 2) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      usage("Wrong number of arguments: " + args.length);<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      System.exit(-1);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    Job job = createSubmittableJob(args);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>}<a name="line.382"></a>
+<span class="sourceLineNo">295</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    if (hfileOutPath != null) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      LOG.debug("add incremental job :" + hfileOutPath + " from " + inputDirs);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>      // the bulk HFile case<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      if (tables.length != 1) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      }<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      Path outputDir = new Path(hfileOutPath);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.309"></a>
+<span class="sourceLineNo">310</span>          Table table = conn.getTable(tableName);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      }<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.314"></a>
+<span class="sourceLineNo">315</span>          com.google.common.base.Preconditions.class);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    } else {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      // output to live cluster<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      job.setMapperClass(WALMapper.class);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      TableMapReduceUtil.initCredentials(job);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      // No reducers.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      job.setNumReduceTasks(0);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    try {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    } catch (Exception e) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    return job;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Print usage<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param errorMsg Error message.  Can be null.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  private void usage(final String errorMsg) {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      System.err.println("ERROR: " + errorMsg);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    System.err.println("(Careful, even hbase:meta entries will be imported"+<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      " in that case.)");<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    System.err.println("For performance also consider the following options:\n"<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      + "  -Dmapreduce.map.speculative=false\n"<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      + "  -Dmapreduce.reduce.speculative=false");<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Main entry point.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   *<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * @param args  The command line parameters.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * @throws Exception When running the job fails.<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  public static void main(String[] args) throws Exception {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    System.exit(ret);<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public int run(String[] args) throws Exception {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (args.length &lt; 2) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      usage("Wrong number of arguments: " + args.length);<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      System.exit(-1);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    Job job = createSubmittableJob(args);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>}<a name="line.386"></a>
 
 
 


[14/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
index 05e46b2..12db0bb 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html
@@ -28,283 +28,328 @@
 <span class="sourceLineNo">020</span>import java.io.DataInput;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.io.DataOutput;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.EOFException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.ArrayList;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.List;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FileStatus;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileSystem;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.Path;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.io.Writable;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.util.StringUtils;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>@InterfaceAudience.Public<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * exactly one log file.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    private String logFileName;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    private long fileSize;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    private long startTime;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    private long endTime;<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>    /** for serialization */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    public WALSplit() {}<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>    /**<a name="line.74"></a>
-<span class="sourceLineNo">075</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.76"></a>
-<span class="sourceLineNo">077</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.77"></a>
-<span class="sourceLineNo">078</span>     * @param logFileName<a name="line.78"></a>
-<span class="sourceLineNo">079</span>     * @param fileSize<a name="line.79"></a>
-<span class="sourceLineNo">080</span>     * @param startTime<a name="line.80"></a>
-<span class="sourceLineNo">081</span>     * @param endTime<a name="line.81"></a>
-<span class="sourceLineNo">082</span>     */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      this.logFileName = logFileName;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      this.fileSize = fileSize;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      this.startTime = startTime;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      this.endTime = endTime;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    public long getLength() throws IOException, InterruptedException {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      return fileSize;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>    @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return new String[] {};<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public String getLogFileName() {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      return logFileName;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>    public long getStartTime() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      return startTime;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>    public long getEndTime() {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      return endTime;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void readFields(DataInput in) throws IOException {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      logFileName = in.readUTF();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      fileSize = in.readLong();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      startTime = in.readLong();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      endTime = in.readLong();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>    @Override<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    public void write(DataOutput out) throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      out.writeUTF(logFileName);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      out.writeLong(fileSize);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      out.writeLong(startTime);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      out.writeLong(endTime);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>    @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String toString() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * {@link RecordReader} for an {@link WAL} file.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private Reader reader = null;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    Entry currentEntry = new Entry();<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    private long startTime;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private long endTime;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        throws IOException, InterruptedException {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      WALSplit hsplit = (WALSplit)split;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      Path logFile = new Path(hsplit.getLogFileName());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      Configuration conf = context.getConfiguration();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      LOG.info("Opening reader for "+split);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      try {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        this.reader = WALFactory.createReader(logFile.getFileSystem(conf), logFile, conf);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      } catch (EOFException x) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        LOG.info("Ignoring corrupted WAL file: " + logFile<a name="line.156"></a>
-<span class="sourceLineNo">157</span>            + " (This is normal when a RegionServer crashed.)");<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        this.reader = null;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      this.startTime = hsplit.getStartTime();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      this.endTime = hsplit.getEndTime();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      if (reader == null) return false;<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>      Entry temp;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      long i = -1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      do {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        // skip older entries<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        try {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>          temp = reader.next(currentEntry);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>          i++;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        } catch (EOFException x) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.176"></a>
-<span class="sourceLineNo">177</span>              + " (This is normal when a RegionServer crashed.)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          return false;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>        }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      while(temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>      if (temp == null) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        LOG.info("Reached end of file.");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        return false;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      } else if (i &gt; 0) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      if (!res) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        LOG.info("Reached ts: " + temp.getKey().getWriteTime() + " ignoring the rest of the file.");<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      }<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      return res;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return currentEntry.getEdit();<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      // N/A depends on total number of entries, which is unknown<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return 0;<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>    public void close() throws IOException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      LOG.info("Closing reader");<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      if (reader != null) this.reader.close();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * need to support HLogInputFormat.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    @Override<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return currentEntry.getKey();<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      InterruptedException {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
+<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Collections;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.conf.Configuration;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileStatus;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.FileSystem;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.Path;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.AbstractFSWALProvider;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.io.Writable;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.util.StringUtils;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>/**<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  /**<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * exactly one log file.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    private String logFileName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    private long fileSize;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    private long startTime;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    private long endTime;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /** for serialization */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    public WALSplit() {}<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>    /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.78"></a>
+<span class="sourceLineNo">079</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.79"></a>
+<span class="sourceLineNo">080</span>     * @param logFileName<a name="line.80"></a>
+<span class="sourceLineNo">081</span>     * @param fileSize<a name="line.81"></a>
+<span class="sourceLineNo">082</span>     * @param startTime<a name="line.82"></a>
+<span class="sourceLineNo">083</span>     * @param endTime<a name="line.83"></a>
+<span class="sourceLineNo">084</span>     */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      this.logFileName = logFileName;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      this.fileSize = fileSize;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      this.startTime = startTime;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      this.endTime = endTime;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>    @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    public long getLength() throws IOException, InterruptedException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      return fileSize;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>    @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return new String[] {};<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>    public String getLogFileName() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      return logFileName;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public long getStartTime() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      return startTime;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    public long getEndTime() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      return endTime;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>    @Override<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    public void readFields(DataInput in) throws IOException {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      logFileName = in.readUTF();<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      fileSize = in.readLong();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      startTime = in.readLong();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      endTime = in.readLong();<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>    @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void write(DataOutput out) throws IOException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      out.writeUTF(logFileName);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      out.writeLong(fileSize);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      out.writeLong(startTime);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      out.writeLong(endTime);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>    @Override<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    public String toString() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<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>   * {@link RecordReader} for an {@link WAL} file.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    private Reader reader = null;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    Entry currentEntry = new Entry();<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    private long startTime;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    private long endTime;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    private Configuration conf;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    private Path logFile;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    private long currentPos;<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        throws IOException, InterruptedException {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      WALSplit hsplit = (WALSplit)split;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      logFile = new Path(hsplit.getLogFileName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      conf = context.getConfiguration();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      LOG.info("Opening reader for "+split);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      openReader(logFile);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      this.startTime = hsplit.getStartTime();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      this.endTime = hsplit.getEndTime();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>    private void openReader(Path path) throws IOException<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      closeReader();<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      reader = AbstractFSWALProvider.openReader(path, conf);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      seek();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      setCurrentPath(path);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>    private void setCurrentPath(Path path) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      this.logFile = path;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>    private void closeReader() throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      if (reader != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        reader.close();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        reader = null;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>    private void seek() throws IOException {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (currentPos != 0) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        reader.seek(currentPos);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>    @Override<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      if (reader == null) return false;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      this.currentPos = reader.getPosition();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      Entry temp;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      long i = -1;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      try {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        do {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>          // skip older entries<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          try {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>            temp = reader.next(currentEntry);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            i++;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          } catch (EOFException x) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>            LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.201"></a>
+<span class="sourceLineNo">202</span>                + " (This is normal when a RegionServer crashed.)");<a name="line.202"></a>
+<span class="sourceLineNo">203</span>            return false;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>          }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        } while (temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>        if (temp == null) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>          if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.208"></a>
+<span class="sourceLineNo">209</span>          LOG.info("Reached end of file.");<a name="line.209"></a>
+<span class="sourceLineNo">210</span>          return false;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        } else if (i &gt; 0) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>          LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        if (!res) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>          LOG.info("Reached ts: " + temp.getKey().getWriteTime()<a name="line.216"></a>
+<span class="sourceLineNo">217</span>              + " ignoring the rest of the file.");<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        return res;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      } catch (IOException e) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        Path archivedLog = AbstractFSWALProvider.getArchivedLogPath(logFile, conf);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        if (logFile != archivedLog) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          openReader(archivedLog);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          // Try call again in recursion<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          return nextKeyValue();<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        } else {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          throw e;<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>    }<a name="line.230"></a>
 <span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * implementation shared with deprecated HLogInputFormat<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    Configuration conf = context.getConfiguration();<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    for(Path inputPath: inputPaths){<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      allFiles.addAll(files);<a name="line.246"></a>
+<span class="sourceLineNo">232</span>    @Override<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      return currentEntry.getEdit();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>    @Override<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      // N/A depends on total number of entries, which is unknown<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      return 0;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public void close() throws IOException {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      LOG.info("Closing reader");<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      if (reader != null) this.reader.close();<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    for (FileStatus file : allFiles) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    return splits;<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>  private Path[] getInputPaths(Configuration conf) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    String inpDirs = conf.get("mapreduce.input.fileinputformat.inputdir");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    return StringUtils.stringToPath(inpDirs.split(","));<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>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    while (iter.hasNext()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      LocatedFileStatus file = iter.next();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      if (file.isDirectory()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        // recurse into sub directories<a name="line.270"></a>
-<span class="sourceLineNo">271</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      } else {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        String name = file.getPath().toString();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        int idx = name.lastIndexOf('.');<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        if (idx &gt; 0) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          try {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            if (fileStartTime &lt;= endTime) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              LOG.info("Found: " + file);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>              result.add(file);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          } catch (NumberFormatException x) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>            idx = 0;<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>        if (idx == 0) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.287"></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>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * need to support HLogInputFormat.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    @Override<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      return currentEntry.getKey();<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><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  @Override<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      InterruptedException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * implementation shared with deprecated HLogInputFormat<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      throws IOException, InterruptedException {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    Configuration conf = context.getConfiguration();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    boolean ignoreMissing = conf.getBoolean(WALPlayer.IGNORE_MISSING_FILES, false);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    for(Path inputPath: inputPaths){<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      try {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        allFiles.addAll(files);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      } catch (FileNotFoundException e) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        if (ignoreMissing) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>          LOG.warn("File "+ inputPath +" is missing. Skipping it.");<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          continue;<a name="line.287"></a>
 <span class="sourceLineNo">288</span>        }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    return result;<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>  @Override<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    return new WALKeyRecordReader();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>}<a name="line.299"></a>
+<span class="sourceLineNo">289</span>        throw e;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    for (FileStatus file : allFiles) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    return splits;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>  private Path[] getInputPaths(Configuration conf) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    String inpDirs = conf.get(FileInputFormat.INPUT_DIR);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    return StringUtils.stringToPath(<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      inpDirs.split(conf.get(WALPlayer.INPUT_FILES_SEPARATOR_KEY, ",")));<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      throws IOException {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    while (iter.hasNext()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      LocatedFileStatus file = iter.next();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      if (file.isDirectory()) {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        // recurse into sub directories<a name="line.315"></a>
+<span class="sourceLineNo">316</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      } else {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        String name = file.getPath().toString();<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        int idx = name.lastIndexOf('.');<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        if (idx &gt; 0) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>          try {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.322"></a>
+<span class="sourceLineNo">323</span>            if (fileStartTime &lt;= endTime) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              LOG.info("Found: " + file);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>              result.add(file);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>            }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>          } catch (NumberFormatException x) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            idx = 0;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>          }<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        if (idx == 0) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      }<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    return result;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  @Override<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    return new WALKeyRecordReader();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>}<a name="line.344"></a>
 
 
 


[18/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
index 149fe6a..d3a3809 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
@@ -125,7 +125,7 @@ extends org.apache.hadoop.conf.Configured
 implements org.apache.hadoop.util.Tool</pre>
 <div class="block">A tool to replay WAL files as a M/R job.
  The WAL can be replayed for a set of tables or all tables,
- and a timerange can be provided (in milliseconds).
+ and a time range can be provided (in milliseconds).
  The WAL is filtered to the passed set of tables and  the output
  can optionally be mapped to another set of tables.
 
@@ -182,6 +182,14 @@ implements org.apache.hadoop.util.Tool</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/WALPlayer.html#BULK_OUTPUT_CONF_KEY">BULK_OUTPUT_CONF_KEY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://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/mapreduce/WALPlayer.html#IGNORE_MISSING_FILES">IGNORE_MISSING_FILES</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://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/mapreduce/WALPlayer.html#INPUT_FILES_SEPARATOR_KEY">INPUT_FILES_SEPARATOR_KEY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>private static <a href="http://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/mapreduce/WALPlayer.html#JOB_NAME_CONF_KEY">JOB_NAME_CONF_KEY</a></span></code>&nbsp;</td>
 </tr>
@@ -363,13 +371,39 @@ implements org.apache.hadoop.util.Tool</pre>
 </dl>
 </li>
 </ul>
+<a name="INPUT_FILES_SEPARATOR_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INPUT_FILES_SEPARATOR_KEY</h4>
+<pre>public static final&nbsp;<a href="http://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/mapreduce/WALPlayer.html#line.76">INPUT_FILES_SEPARATOR_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALPlayer.INPUT_FILES_SEPARATOR_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="IGNORE_MISSING_FILES">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>IGNORE_MISSING_FILES</h4>
+<pre>public static final&nbsp;<a href="http://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/mapreduce/WALPlayer.html#line.77">IGNORE_MISSING_FILES</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALPlayer.IGNORE_MISSING_FILES">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 <a name="JOB_NAME_CONF_KEY">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>JOB_NAME_CONF_KEY</h4>
-<pre>private static final&nbsp;<a href="http://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/mapreduce/WALPlayer.html#line.85">JOB_NAME_CONF_KEY</a></pre>
+<pre>private static final&nbsp;<a href="http://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/mapreduce/WALPlayer.html#line.88">JOB_NAME_CONF_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALPlayer.JOB_NAME_CONF_KEY">Constant Field Values</a></dd>
@@ -390,7 +424,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>WALPlayer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.87">WALPlayer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.90">WALPlayer</a>()</pre>
 </li>
 </ul>
 <a name="WALPlayer-org.apache.hadoop.conf.Configuration-">
@@ -399,7 +433,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALPlayer</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.90">WALPlayer</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.93">WALPlayer</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
 </li>
 </ul>
 </li>
@@ -416,7 +450,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>setupTime</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.236">setupTime</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.241">setupTime</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;option)
         throws <a href="http://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>
@@ -431,7 +465,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createSubmittableJob</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.265">createSubmittableJob</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.270">createSubmittableJob</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Sets up the actual job.</div>
 <dl>
@@ -450,7 +484,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>usage</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.335">usage</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;errorMsg)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.339">usage</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;errorMsg)</pre>
 <div class="block">Print usage</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -464,7 +498,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.368">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.372">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Main entry point.</div>
 <dl>
@@ -481,7 +515,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.374">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.378">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/class-use/LoadIncrementalHFiles.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/class-use/LoadIncrementalHFiles.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/class-use/LoadIncrementalHFiles.html
index dbfef7f..86b7161 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/class-use/LoadIncrementalHFiles.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/class-use/LoadIncrementalHFiles.html
@@ -87,10 +87,6 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.backup.util">org.apache.hadoop.hbase.backup.util</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -117,28 +113,6 @@
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.backup.util">
-<!--   -->
-</a>
-<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.mapreduce">LoadIncrementalHFiles</a> in <a href="../../../../../../org/apache/hadoop/hbase/backup/util/package-summary.html">org.apache.hadoop.hbase.backup.util</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../../../../../org/apache/hadoop/hbase/backup/util/package-summary.html">org.apache.hadoop.hbase.backup.util</a> that return <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.mapreduce">LoadIncrementalHFiles</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.mapreduce">LoadIncrementalHFiles</a></code></td>
-<td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#createLoader-org.apache.hadoop.fs.Path-boolean-">createLoader</a></span>(org.apache.hadoop.fs.Path&nbsp;tableArchivePath,
-            boolean&nbsp;multipleTables)</code>
-<div class="block">Create a <a href="../../../../../../org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>LoadIncrementalHFiles</code></a> instance to be used to restore the HFiles of a full
- backup.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.replication.regionserver">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index 7457bee..663522c 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -281,10 +281,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/mapreduce/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-use.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-use.html
index 061b3a6..5dd0be7 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-use.html
@@ -87,28 +87,24 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="#org.apache.hadoop.hbase.backup.util">org.apache.hadoop.hbase.backup.util</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.mapred">org.apache.hadoop.hbase.mapred</a></td>
 <td class="colLast">
 <div class="block">Provides HBase <a href="http://wiki.apache.org/hadoop/HadoopMapReduce">MapReduce</a>
 Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.mapreduce">org.apache.hadoop.hbase.mapreduce</a></td>
 <td class="colLast">
 <div class="block">Provides HBase <a href="http://wiki.apache.org/hadoop/HadoopMapReduce">MapReduce</a>
 Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.mapreduce.replication">org.apache.hadoop.hbase.mapreduce.replication</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="#org.apache.hadoop.hbase.replication.regionserver">org.apache.hadoop.hbase.replication.regionserver</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
@@ -132,23 +128,6 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
 </tbody>
 </table>
 </li>
-<li class="blockList"><a name="org.apache.hadoop.hbase.backup.util">
-<!--   -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../org/apache/hadoop/hbase/mapreduce/package-summary.html">org.apache.hadoop.hbase.mapreduce</a> used by <a href="../../../../../org/apache/hadoop/hbase/backup/util/package-summary.html">org.apache.hadoop.hbase.backup.util</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/mapreduce/class-use/LoadIncrementalHFiles.html#org.apache.hadoop.hbase.backup.util">LoadIncrementalHFiles</a>
-<div class="block">Tool to load the output of HFileOutputFormat into an existing table.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
 <li class="blockList"><a name="org.apache.hadoop.hbase.mapred">
 <!--   -->
 </a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
index 620a8d3..c5355d6 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -322,11 +322,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MasterRpcServices.BalanceSwitchMode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/RegionState.State.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">RegionState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.ResubmitDirective.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.ResubmitDirective</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
index a3aadda..ff790b4 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -175,8 +175,8 @@
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/ServerProcedureInterface.ServerOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">ServerProcedureInterface.ServerOperationType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">DisableTableProcedure.MarkRegionOfflineOpResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/TableProcedureInterface.TableOperationType.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">TableProcedureInterface.TableOperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="../../../../../../org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.MarkRegionOfflineOpResult.html" title="enum in org.apache.hadoop.hbase.master.procedure"><span class="typeNameLink">DisableTableProcedure.MarkRegionOfflineOpResult</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index 6c45c8e..7f80b47 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -423,15 +423,15 @@
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.Modify</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.Modify</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
index 35e4742..ddc1f12 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -190,8 +190,8 @@
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/StateMachineProcedure.Flow.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">StateMachineProcedure.Flow</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/Procedure.LockState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">Procedure.LockState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/RootProcedureState.State.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">RootProcedureState.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
index a630aee..d6a302b 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -178,11 +178,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html
index d323b1e..6c6655b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html
@@ -300,7 +300,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html#line.44">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html#line.46">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -320,7 +320,7 @@ for (ScannerContext.LimitScope c : ScannerContext.LimitScope.values())
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html#line.44">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitScope</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html#line.46">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html b/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html
index 2996eb1..887dc03 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html
@@ -372,7 +372,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html#line.44">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html#line.46">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -392,7 +392,7 @@ for (ScannerContext.NextState c : ScannerContext.NextState.values())
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html#line.44">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver">ScannerContext.NextState</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html#line.46">valueOf</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
index f1bb519..53d68c4 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -668,19 +668,19 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.StoreScannerCompactionRace.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">StoreScanner.StoreScannerCompactionRace</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.FlushResult.Result</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.StepDirection.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DefaultHeapMemoryTuner.StepDirection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ImmutableSegment.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ImmutableSegment.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.NextState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.NextState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RegionOpeningState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScanType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitLogWorker.TaskExecutor.Status.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">SplitLogWorker.TaskExecutor.Status</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ImmutableSegment.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ImmutableSegment.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/StoreScanner.StoreScannerCompactionRace.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">StoreScanner.StoreScannerCompactionRace</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreCompactor.Action.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">MemStoreCompactor.Action</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionOpeningState.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">RegionOpeningState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/BloomType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">BloomType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">FlushType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.FlushResult.Result</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.Operation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">Region.Operation</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
index 92ffe05..7586289 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -125,10 +125,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteCompare</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteCompare</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
index 5456659..e88caf9 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -249,8 +249,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index 042bbd4..8387ff7 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -135,8 +135,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessController.OpType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">Permission.Action</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="typeNameLink">AccessControlFilter.Strategy</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
index 1c19e45..59a46a4 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -191,9 +191,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslUtil.QualityOfProtection</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a></li>
 </ul>
 </li>
 </ul>


[12/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
index 05e46b2..12db0bb 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
@@ -28,283 +28,328 @@
 <span class="sourceLineNo">020</span>import java.io.DataInput;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.io.DataOutput;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.EOFException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.ArrayList;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.List;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FileStatus;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileSystem;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.Path;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.io.Writable;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.util.StringUtils;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>@InterfaceAudience.Public<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * exactly one log file.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    private String logFileName;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    private long fileSize;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    private long startTime;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    private long endTime;<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>    /** for serialization */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    public WALSplit() {}<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>    /**<a name="line.74"></a>
-<span class="sourceLineNo">075</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.76"></a>
-<span class="sourceLineNo">077</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.77"></a>
-<span class="sourceLineNo">078</span>     * @param logFileName<a name="line.78"></a>
-<span class="sourceLineNo">079</span>     * @param fileSize<a name="line.79"></a>
-<span class="sourceLineNo">080</span>     * @param startTime<a name="line.80"></a>
-<span class="sourceLineNo">081</span>     * @param endTime<a name="line.81"></a>
-<span class="sourceLineNo">082</span>     */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      this.logFileName = logFileName;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      this.fileSize = fileSize;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      this.startTime = startTime;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      this.endTime = endTime;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    public long getLength() throws IOException, InterruptedException {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      return fileSize;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>    @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return new String[] {};<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public String getLogFileName() {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      return logFileName;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>    public long getStartTime() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      return startTime;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>    public long getEndTime() {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      return endTime;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void readFields(DataInput in) throws IOException {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      logFileName = in.readUTF();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      fileSize = in.readLong();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      startTime = in.readLong();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      endTime = in.readLong();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>    @Override<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    public void write(DataOutput out) throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      out.writeUTF(logFileName);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      out.writeLong(fileSize);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      out.writeLong(startTime);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      out.writeLong(endTime);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>    @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String toString() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * {@link RecordReader} for an {@link WAL} file.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private Reader reader = null;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    Entry currentEntry = new Entry();<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    private long startTime;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private long endTime;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        throws IOException, InterruptedException {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      WALSplit hsplit = (WALSplit)split;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      Path logFile = new Path(hsplit.getLogFileName());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      Configuration conf = context.getConfiguration();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      LOG.info("Opening reader for "+split);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      try {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        this.reader = WALFactory.createReader(logFile.getFileSystem(conf), logFile, conf);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      } catch (EOFException x) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        LOG.info("Ignoring corrupted WAL file: " + logFile<a name="line.156"></a>
-<span class="sourceLineNo">157</span>            + " (This is normal when a RegionServer crashed.)");<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        this.reader = null;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      this.startTime = hsplit.getStartTime();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      this.endTime = hsplit.getEndTime();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      if (reader == null) return false;<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>      Entry temp;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      long i = -1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      do {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        // skip older entries<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        try {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>          temp = reader.next(currentEntry);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>          i++;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        } catch (EOFException x) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.176"></a>
-<span class="sourceLineNo">177</span>              + " (This is normal when a RegionServer crashed.)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          return false;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>        }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      while(temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>      if (temp == null) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        LOG.info("Reached end of file.");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        return false;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      } else if (i &gt; 0) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      if (!res) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        LOG.info("Reached ts: " + temp.getKey().getWriteTime() + " ignoring the rest of the file.");<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      }<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      return res;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return currentEntry.getEdit();<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      // N/A depends on total number of entries, which is unknown<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return 0;<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>    public void close() throws IOException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      LOG.info("Closing reader");<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      if (reader != null) this.reader.close();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * need to support HLogInputFormat.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    @Override<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return currentEntry.getKey();<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      InterruptedException {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
+<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Collections;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.conf.Configuration;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileStatus;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.FileSystem;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.Path;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.AbstractFSWALProvider;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.io.Writable;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.util.StringUtils;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>/**<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  /**<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * exactly one log file.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    private String logFileName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    private long fileSize;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    private long startTime;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    private long endTime;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /** for serialization */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    public WALSplit() {}<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>    /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.78"></a>
+<span class="sourceLineNo">079</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.79"></a>
+<span class="sourceLineNo">080</span>     * @param logFileName<a name="line.80"></a>
+<span class="sourceLineNo">081</span>     * @param fileSize<a name="line.81"></a>
+<span class="sourceLineNo">082</span>     * @param startTime<a name="line.82"></a>
+<span class="sourceLineNo">083</span>     * @param endTime<a name="line.83"></a>
+<span class="sourceLineNo">084</span>     */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      this.logFileName = logFileName;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      this.fileSize = fileSize;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      this.startTime = startTime;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      this.endTime = endTime;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>    @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    public long getLength() throws IOException, InterruptedException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      return fileSize;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>    @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return new String[] {};<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>    public String getLogFileName() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      return logFileName;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public long getStartTime() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      return startTime;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    public long getEndTime() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      return endTime;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>    @Override<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    public void readFields(DataInput in) throws IOException {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      logFileName = in.readUTF();<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      fileSize = in.readLong();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      startTime = in.readLong();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      endTime = in.readLong();<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>    @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void write(DataOutput out) throws IOException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      out.writeUTF(logFileName);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      out.writeLong(fileSize);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      out.writeLong(startTime);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      out.writeLong(endTime);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>    @Override<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    public String toString() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<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>   * {@link RecordReader} for an {@link WAL} file.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    private Reader reader = null;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    Entry currentEntry = new Entry();<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    private long startTime;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    private long endTime;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    private Configuration conf;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    private Path logFile;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    private long currentPos;<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        throws IOException, InterruptedException {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      WALSplit hsplit = (WALSplit)split;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      logFile = new Path(hsplit.getLogFileName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      conf = context.getConfiguration();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      LOG.info("Opening reader for "+split);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      openReader(logFile);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      this.startTime = hsplit.getStartTime();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      this.endTime = hsplit.getEndTime();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>    private void openReader(Path path) throws IOException<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      closeReader();<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      reader = AbstractFSWALProvider.openReader(path, conf);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      seek();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      setCurrentPath(path);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>    private void setCurrentPath(Path path) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      this.logFile = path;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>    private void closeReader() throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      if (reader != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        reader.close();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        reader = null;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>    private void seek() throws IOException {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (currentPos != 0) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        reader.seek(currentPos);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>    @Override<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      if (reader == null) return false;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      this.currentPos = reader.getPosition();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      Entry temp;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      long i = -1;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      try {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        do {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>          // skip older entries<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          try {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>            temp = reader.next(currentEntry);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            i++;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          } catch (EOFException x) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>            LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.201"></a>
+<span class="sourceLineNo">202</span>                + " (This is normal when a RegionServer crashed.)");<a name="line.202"></a>
+<span class="sourceLineNo">203</span>            return false;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>          }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        } while (temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>        if (temp == null) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>          if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.208"></a>
+<span class="sourceLineNo">209</span>          LOG.info("Reached end of file.");<a name="line.209"></a>
+<span class="sourceLineNo">210</span>          return false;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        } else if (i &gt; 0) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>          LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        if (!res) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>          LOG.info("Reached ts: " + temp.getKey().getWriteTime()<a name="line.216"></a>
+<span class="sourceLineNo">217</span>              + " ignoring the rest of the file.");<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        return res;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      } catch (IOException e) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        Path archivedLog = AbstractFSWALProvider.getArchivedLogPath(logFile, conf);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        if (logFile != archivedLog) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          openReader(archivedLog);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          // Try call again in recursion<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          return nextKeyValue();<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        } else {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          throw e;<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>    }<a name="line.230"></a>
 <span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * implementation shared with deprecated HLogInputFormat<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    Configuration conf = context.getConfiguration();<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    for(Path inputPath: inputPaths){<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      allFiles.addAll(files);<a name="line.246"></a>
+<span class="sourceLineNo">232</span>    @Override<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      return currentEntry.getEdit();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>    @Override<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      // N/A depends on total number of entries, which is unknown<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      return 0;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public void close() throws IOException {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      LOG.info("Closing reader");<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      if (reader != null) this.reader.close();<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    for (FileStatus file : allFiles) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    return splits;<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>  private Path[] getInputPaths(Configuration conf) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    String inpDirs = conf.get("mapreduce.input.fileinputformat.inputdir");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    return StringUtils.stringToPath(inpDirs.split(","));<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>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    while (iter.hasNext()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      LocatedFileStatus file = iter.next();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      if (file.isDirectory()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        // recurse into sub directories<a name="line.270"></a>
-<span class="sourceLineNo">271</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      } else {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        String name = file.getPath().toString();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        int idx = name.lastIndexOf('.');<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        if (idx &gt; 0) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          try {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            if (fileStartTime &lt;= endTime) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              LOG.info("Found: " + file);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>              result.add(file);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          } catch (NumberFormatException x) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>            idx = 0;<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>        if (idx == 0) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.287"></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>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * need to support HLogInputFormat.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    @Override<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      return currentEntry.getKey();<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><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  @Override<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      InterruptedException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * implementation shared with deprecated HLogInputFormat<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      throws IOException, InterruptedException {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    Configuration conf = context.getConfiguration();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    boolean ignoreMissing = conf.getBoolean(WALPlayer.IGNORE_MISSING_FILES, false);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    for(Path inputPath: inputPaths){<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      try {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        allFiles.addAll(files);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      } catch (FileNotFoundException e) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        if (ignoreMissing) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>          LOG.warn("File "+ inputPath +" is missing. Skipping it.");<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          continue;<a name="line.287"></a>
 <span class="sourceLineNo">288</span>        }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    return result;<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>  @Override<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    return new WALKeyRecordReader();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>}<a name="line.299"></a>
+<span class="sourceLineNo">289</span>        throw e;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    for (FileStatus file : allFiles) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    return splits;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>  private Path[] getInputPaths(Configuration conf) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    String inpDirs = conf.get(FileInputFormat.INPUT_DIR);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    return StringUtils.stringToPath(<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      inpDirs.split(conf.get(WALPlayer.INPUT_FILES_SEPARATOR_KEY, ",")));<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      throws IOException {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    while (iter.hasNext()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      LocatedFileStatus file = iter.next();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      if (file.isDirectory()) {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        // recurse into sub directories<a name="line.315"></a>
+<span class="sourceLineNo">316</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      } else {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        String name = file.getPath().toString();<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        int idx = name.lastIndexOf('.');<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        if (idx &gt; 0) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>          try {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.322"></a>
+<span class="sourceLineNo">323</span>            if (fileStartTime &lt;= endTime) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              LOG.info("Found: " + file);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>              result.add(file);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>            }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>          } catch (NumberFormatException x) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            idx = 0;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>          }<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        if (idx == 0) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      }<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    return result;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  @Override<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    return new WALKeyRecordReader();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>}<a name="line.344"></a>
 
 
 


[03/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index f7a7349..f6a9fc1 100644
--- a/hbase-annotations/dependency-management.html
+++ b/hbase-annotations/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index 81ef06e..763256c 100644
--- a/hbase-annotations/index.html
+++ b/hbase-annotations/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index 4a42cc0..8a1f8db 100644
--- a/hbase-annotations/integration.html
+++ b/hbase-annotations/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index a881ace..94b1b58 100644
--- a/hbase-annotations/issue-tracking.html
+++ b/hbase-annotations/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index 00a4390..c6ce19c 100644
--- a/hbase-annotations/license.html
+++ b/hbase-annotations/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index 39d6741..fe4b4c9 100644
--- a/hbase-annotations/mail-lists.html
+++ b/hbase-annotations/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index 041c217..8badc19 100644
--- a/hbase-annotations/plugin-management.html
+++ b/hbase-annotations/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index bd1eade..ebddfe0 100644
--- a/hbase-annotations/plugins.html
+++ b/hbase-annotations/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index 78575d2..c489046 100644
--- a/hbase-annotations/project-info.html
+++ b/hbase-annotations/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-reports.html b/hbase-annotations/project-reports.html
index 6706397..fb30425 100644
--- a/hbase-annotations/project-reports.html
+++ b/hbase-annotations/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index 0f86e48..597835e 100644
--- a/hbase-annotations/project-summary.html
+++ b/hbase-annotations/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index b1f7d2d..b602da1 100644
--- a/hbase-annotations/source-repository.html
+++ b/hbase-annotations/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index 7f4cae5..631e0de 100644
--- a/hbase-annotations/team-list.html
+++ b/hbase-annotations/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependencies.html b/hbase-archetypes/dependencies.html
index 9a3e01d..fbda0a6 100644
--- a/hbase-archetypes/dependencies.html
+++ b/hbase-archetypes/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-convergence.html b/hbase-archetypes/dependency-convergence.html
index abaf560..5f471a8 100644
--- a/hbase-archetypes/dependency-convergence.html
+++ b/hbase-archetypes/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-info.html b/hbase-archetypes/dependency-info.html
index 5f9d784..25dc8cd 100644
--- a/hbase-archetypes/dependency-info.html
+++ b/hbase-archetypes/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-management.html b/hbase-archetypes/dependency-management.html
index 503cc83..7897c71 100644
--- a/hbase-archetypes/dependency-management.html
+++ b/hbase-archetypes/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependencies.html b/hbase-archetypes/hbase-archetype-builder/dependencies.html
index 98f29d9..12d68e1 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependencies.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html b/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
index 7488d84..405e33c 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-info.html b/hbase-archetypes/hbase-archetype-builder/dependency-info.html
index 0b71222..3290907 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-info.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-management.html b/hbase-archetypes/hbase-archetype-builder/dependency-management.html
index 9cf9a00..fa3aae7 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-management.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/index.html b/hbase-archetypes/hbase-archetype-builder/index.html
index dcf9721..581c5c2 100644
--- a/hbase-archetypes/hbase-archetype-builder/index.html
+++ b/hbase-archetypes/hbase-archetype-builder/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/integration.html b/hbase-archetypes/hbase-archetype-builder/integration.html
index 0e93bc9..519b6cf 100644
--- a/hbase-archetypes/hbase-archetype-builder/integration.html
+++ b/hbase-archetypes/hbase-archetype-builder/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/issue-tracking.html b/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
index a037fd1..ba9691c 100644
--- a/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
+++ b/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/license.html b/hbase-archetypes/hbase-archetype-builder/license.html
index 38c43b6..0120397 100644
--- a/hbase-archetypes/hbase-archetype-builder/license.html
+++ b/hbase-archetypes/hbase-archetype-builder/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/mail-lists.html b/hbase-archetypes/hbase-archetype-builder/mail-lists.html
index c4522e4..7619d15 100644
--- a/hbase-archetypes/hbase-archetype-builder/mail-lists.html
+++ b/hbase-archetypes/hbase-archetype-builder/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/plugin-management.html b/hbase-archetypes/hbase-archetype-builder/plugin-management.html
index 7929d26..488a5ce 100644
--- a/hbase-archetypes/hbase-archetype-builder/plugin-management.html
+++ b/hbase-archetypes/hbase-archetype-builder/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/plugins.html b/hbase-archetypes/hbase-archetype-builder/plugins.html
index 32f9456..31a7938 100644
--- a/hbase-archetypes/hbase-archetype-builder/plugins.html
+++ b/hbase-archetypes/hbase-archetype-builder/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/project-info.html b/hbase-archetypes/hbase-archetype-builder/project-info.html
index 9c10a48..4643a05 100644
--- a/hbase-archetypes/hbase-archetype-builder/project-info.html
+++ b/hbase-archetypes/hbase-archetype-builder/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/project-summary.html b/hbase-archetypes/hbase-archetype-builder/project-summary.html
index ac44063..a6ac819 100644
--- a/hbase-archetypes/hbase-archetype-builder/project-summary.html
+++ b/hbase-archetypes/hbase-archetype-builder/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/source-repository.html b/hbase-archetypes/hbase-archetype-builder/source-repository.html
index 50b307e..60d6a66 100644
--- a/hbase-archetypes/hbase-archetype-builder/source-repository.html
+++ b/hbase-archetypes/hbase-archetype-builder/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-archetype-builder/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/team-list.html b/hbase-archetypes/hbase-archetype-builder/team-list.html
index 4635902..c112309 100644
--- a/hbase-archetypes/hbase-archetype-builder/team-list.html
+++ b/hbase-archetypes/hbase-archetype-builder/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/checkstyle.html b/hbase-archetypes/hbase-client-project/checkstyle.html
index 2c26cb1..3df3717 100644
--- a/hbase-archetypes/hbase-client-project/checkstyle.html
+++ b/hbase-archetypes/hbase-client-project/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependencies.html b/hbase-archetypes/hbase-client-project/dependencies.html
index caa948a..47ef1cc 100644
--- a/hbase-archetypes/hbase-client-project/dependencies.html
+++ b/hbase-archetypes/hbase-client-project/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-convergence.html b/hbase-archetypes/hbase-client-project/dependency-convergence.html
index f6c9c01..eaf78a4 100644
--- a/hbase-archetypes/hbase-client-project/dependency-convergence.html
+++ b/hbase-archetypes/hbase-client-project/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-info.html b/hbase-archetypes/hbase-client-project/dependency-info.html
index 2359d89..be747a9 100644
--- a/hbase-archetypes/hbase-client-project/dependency-info.html
+++ b/hbase-archetypes/hbase-client-project/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-management.html b/hbase-archetypes/hbase-client-project/dependency-management.html
index bb605b0..925d8a2 100644
--- a/hbase-archetypes/hbase-client-project/dependency-management.html
+++ b/hbase-archetypes/hbase-client-project/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/index.html b/hbase-archetypes/hbase-client-project/index.html
index fbe9516..d2fd81b 100644
--- a/hbase-archetypes/hbase-client-project/index.html
+++ b/hbase-archetypes/hbase-client-project/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/integration.html b/hbase-archetypes/hbase-client-project/integration.html
index 77452d7..88d2aa8 100644
--- a/hbase-archetypes/hbase-client-project/integration.html
+++ b/hbase-archetypes/hbase-client-project/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/issue-tracking.html b/hbase-archetypes/hbase-client-project/issue-tracking.html
index 41edcfc..328ee9c 100644
--- a/hbase-archetypes/hbase-client-project/issue-tracking.html
+++ b/hbase-archetypes/hbase-client-project/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/license.html b/hbase-archetypes/hbase-client-project/license.html
index 4a9e924..3504d4b 100644
--- a/hbase-archetypes/hbase-client-project/license.html
+++ b/hbase-archetypes/hbase-client-project/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/mail-lists.html b/hbase-archetypes/hbase-client-project/mail-lists.html
index 623d3f1..b78e758 100644
--- a/hbase-archetypes/hbase-client-project/mail-lists.html
+++ b/hbase-archetypes/hbase-client-project/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/plugin-management.html b/hbase-archetypes/hbase-client-project/plugin-management.html
index c6db2bb..155b893 100644
--- a/hbase-archetypes/hbase-client-project/plugin-management.html
+++ b/hbase-archetypes/hbase-client-project/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/plugins.html b/hbase-archetypes/hbase-client-project/plugins.html
index 3309a62..863fc60 100644
--- a/hbase-archetypes/hbase-client-project/plugins.html
+++ b/hbase-archetypes/hbase-client-project/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-info.html b/hbase-archetypes/hbase-client-project/project-info.html
index edb8bec..27884f7 100644
--- a/hbase-archetypes/hbase-client-project/project-info.html
+++ b/hbase-archetypes/hbase-client-project/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-reports.html b/hbase-archetypes/hbase-client-project/project-reports.html
index 8809ac5..7a6c0ca 100644
--- a/hbase-archetypes/hbase-client-project/project-reports.html
+++ b/hbase-archetypes/hbase-client-project/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-summary.html b/hbase-archetypes/hbase-client-project/project-summary.html
index 8e6d753..211f76c 100644
--- a/hbase-archetypes/hbase-client-project/project-summary.html
+++ b/hbase-archetypes/hbase-client-project/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/source-repository.html b/hbase-archetypes/hbase-client-project/source-repository.html
index 05187a0..9df83a2 100644
--- a/hbase-archetypes/hbase-client-project/source-repository.html
+++ b/hbase-archetypes/hbase-client-project/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/team-list.html b/hbase-archetypes/hbase-client-project/team-list.html
index 897ade1..ac33262 100644
--- a/hbase-archetypes/hbase-client-project/team-list.html
+++ b/hbase-archetypes/hbase-client-project/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/checkstyle.html b/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
index 69d2e87..17f96fc 100644
--- a/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
+++ b/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependencies.html b/hbase-archetypes/hbase-shaded-client-project/dependencies.html
index 8b6880c..9d46058 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependencies.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>


[20/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 18bd6cd..49baf21 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
     <copyright>&#169;2007 - 2017 The Apache Software Foundation</copyright>
     <item>
       <title>File: 2145,
-             Errors: 14233,
+             Errors: 14239,
              Warnings: 0,
              Infos: 0
       </title>
@@ -4353,7 +4353,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  1
+                  4
                 </td>
               </tr>
                           <tr>
@@ -16281,7 +16281,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  1
+                  3
                 </td>
               </tr>
                           <tr>
@@ -20775,7 +20775,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  8
+                  9
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 9b6e41e..509cfa0 100644
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -392,7 +392,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 7092fe1..15db58a 100644
--- a/cygwin.html
+++ b/cygwin.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Installing Apache HBase (TM) on Windows using Cygwin</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -691,7 +691,7 @@ Now your <b>HBase </b>server is running, <b>start coding</b> and build that next
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 6e6a903..38e5a6f 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependencies</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -536,7 +536,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 4443ff8..6dfd128 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Reactor Dependency Convergence</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -1883,7 +1883,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index fb6d256..ed7fc1d 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Dependency Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -330,7 +330,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 6b49152..7843501 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Dependency Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -918,7 +918,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 3ca6dd5..7ff7a8f 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3775,21 +3775,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Tue Apr  4 14:37:58 UTC 2017"</code></td>
+<td class="colLast"><code>"Wed Apr  5 01:29:07 UTC 2017"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"e916b79db58bb9be806a833b2c0e675f1136c15a"</code></td>
+<td class="colLast"><code>"910b68082c8f200f0ba6395a76b7ee1c8917e401"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"6197575f20b638ea0a4de0e8af11c0f0"</code></td>
+<td class="colLast"><code>"abb62fd425578aaaaccd0139f6be0772"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
@@ -12047,6 +12047,20 @@
 <td class="colLast"><code>"wal.bulk.output"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.WALPlayer.IGNORE_MISSING_FILES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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><code><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#IGNORE_MISSING_FILES">IGNORE_MISSING_FILES</a></code></td>
+<td class="colLast"><code>"wal.input.ignore.missing.files"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.WALPlayer.INPUT_FILES_SEPARATOR_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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><code><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#INPUT_FILES_SEPARATOR_KEY">INPUT_FILES_SEPARATOR_KEY</a></code></td>
+<td class="colLast"><code>"wal.input.separator"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.WALPlayer.JOB_NAME_CONF_KEY">
 <!--   -->
 </a><code>private&nbsp;static&nbsp;final&nbsp;<a href="http://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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index e32357b..7fec0c7 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -1849,8 +1849,6 @@
 <dd>
 <div class="block">Add the specified log file to the stats</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html#addLogsFromBackupSystemToContext-java.util.List-">addLogsFromBackupSystemToContext(List&lt;BackupSystemTable.WALItem&gt;)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalBackupManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/http/HttpServer.html#addManagedListener-org.eclipse.jetty.server.ServerConnector-">addManagedListener(ServerConnector)</a></span> - Method in class org.apache.hadoop.hbase.http.<a href="org/apache/hadoop/hbase/http/HttpServer.html" title="class in org.apache.hadoop.hbase.http">HttpServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/TableBackupClient.html#addManifest-org.apache.hadoop.hbase.backup.BackupInfo-org.apache.hadoop.hbase.backup.impl.BackupManager-org.apache.hadoop.hbase.backup.BackupType-org.apache.hadoop.conf.Configuration-">addManifest(BackupInfo, BackupManager, BackupType, Configuration)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/TableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">TableBackupClient</a></dt>
@@ -10019,10 +10017,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.html#checkLimitOfRows-int-int-boolean-org.apache.hadoop.hbase.regionserver.ScannerContext-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse.Builder-">checkLimitOfRows(int, int, boolean, ScannerContext, ClientProtos.ScanResponse.Builder)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html#checkLocalAndBackup-org.apache.hadoop.fs.Path-">checkLocalAndBackup(Path)</a></span> - Method in class org.apache.hadoop.hbase.backup.util.<a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html" title="class in org.apache.hadoop.hbase.backup.util">RestoreTool</a></dt>
-<dd>
-<div class="block">Duplicate the backup image if it's on local cluster</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#checkLockPermissions-org.apache.hadoop.hbase.security.User-java.lang.String-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.HRegionInfo:A-java.lang.String-">checkLockPermissions(User, String, TableName, HRegionInfo[], String)</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#checkLogRoll--">checkLogRoll()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a></dt>
@@ -12260,6 +12254,8 @@
 <dd>
 <div class="block">Clear the references to the specified old source</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#closeReader--">closeReader()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALRecordReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/StoreFile.html#closeReader-boolean-">closeReader(boolean)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/StoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#closeReader--">closeReader()</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></dt>
@@ -15032,6 +15028,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.html" title="class in org.apache.hadoop.hbase.mapreduce">TsvImporterMapper</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALRecordReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/balancer/RegionLocationFinder.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.master.balancer.<a href="org/apache/hadoop/hbase/master/balancer/RegionLocationFinder.html" title="class in org.apache.hadoop.hbase.master.balancer">RegionLocationFinder</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/cleaner/CleanerChore.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.master.cleaner.<a href="org/apache/hadoop/hbase/master/cleaner/CleanerChore.html" title="class in org.apache.hadoop.hbase.master.cleaner">CleanerChore</a></dt>
@@ -16293,8 +16291,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.PBHelper.html#convertCipherOptions-java.util.List-">convertCipherOptions(List&lt;CipherOption&gt;)</a></span> - Method in interface org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.PBHelper.html" title="interface in org.apache.hadoop.hbase.io.asyncfs">FanOutOneBlockAsyncDFSOutputSaslHelper.PBHelper</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#convertFilesFromWALtoOldWAL-java.util.List-">convertFilesFromWALtoOldWAL(List&lt;String&gt;)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#convertInterruptedExceptionToIOException-java.lang.InterruptedException-">convertInterruptedExceptionToIOException(InterruptedException)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/Import.html#convertKv-org.apache.hadoop.hbase.Cell-java.util.Map-">convertKv(Cell, Map&lt;byte[], byte[]&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/Import.html" title="class in org.apache.hadoop.hbase.mapreduce">Import</a></dt>
@@ -16363,12 +16359,18 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/ProcedureUtil.html#convertToProtoProcedure-org.apache.hadoop.hbase.ProcedureInfo-">convertToProtoProcedure(ProcedureInfo)</a></span> - Static method in class org.apache.hadoop.hbase.procedure2.<a href="org/apache/hadoop/hbase/procedure2/ProcedureUtil.html" title="class in org.apache.hadoop.hbase.procedure2">ProcedureUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html#convertToSet-java.util.List-">convertToSet(List&lt;BackupSystemTable.WALItem&gt;)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalBackupManager</a></dt>
+<dd>
+<div class="block">Create Set of WAL file names (not full path names)</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/replication/ReplicationSerDeHelper.html#convertToString-java.util.Set-">convertToString(Set&lt;String&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.replication.<a href="org/apache/hadoop/hbase/client/replication/ReplicationSerDeHelper.html" title="class in org.apache.hadoop.hbase.client.replication">ReplicationSerDeHelper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/replication/ReplicationSerDeHelper.html#convertToString-java.util.Map-">convertToString(Map&lt;TableName, ? extends Collection&lt;String&gt;&gt;)</a></span> - Static method in class org.apache.hadoop.hbase.client.replication.<a href="org/apache/hadoop/hbase/client/replication/ReplicationSerDeHelper.html" title="class in org.apache.hadoop.hbase.client.replication">ReplicationSerDeHelper</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/SnapshotManifest.html#convertToV2SingleManifest--">convertToV2SingleManifest()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/SnapshotManifest.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotManifest</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#convertWALsToHFiles-org.apache.hadoop.hbase.backup.BackupInfo-">convertWALsToHFiles(BackupInfo)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure/Procedure.html#coord">coord</a></span> - Variable in class org.apache.hadoop.hbase.procedure.<a href="org/apache/hadoop/hbase/procedure/Procedure.html" title="class in org.apache.hadoop.hbase.procedure">Procedure</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/CoordinatedStateException.html" title="class in org.apache.hadoop.hbase"><span class="typeNameLink">CoordinatedStateException</span></a> - Exception in <a href="org/apache/hadoop/hbase/package-summary.html">org.apache.hadoop.hbase</a></dt>
@@ -17464,6 +17466,8 @@
 <div class="block">Instantiates a new ObserverContext instance if the passed reference is
  <code>null</code> and sets the environment in the new or existing instance.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html#createAndRestoreTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.Path-boolean-java.lang.String-">createAndRestoreTable(Connection, TableName, TableName, Path, boolean, String)</a></span> - Method in class org.apache.hadoop.hbase.backup.util.<a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html" title="class in org.apache.hadoop.hbase.backup.util">RestoreTool</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.html#createAndWatch-org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher-java.lang.String-byte:A-">createAndWatch(ZooKeeperWatcher, String, byte[])</a></span> - Static method in class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKUtil</a></dt>
 <dd>
 <div class="block">Creates the specified node with the specified data and watches it.</div>
@@ -18306,11 +18310,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/mapreduce/MapReduceRestoreJob.html#createLoader-org.apache.hadoop.conf.Configuration-">createLoader(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.backup.mapreduce.<a href="org/apache/hadoop/hbase/backup/mapreduce/MapReduceRestoreJob.html" title="class in org.apache.hadoop.hbase.backup.mapreduce">MapReduceRestoreJob</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html#createLoader-org.apache.hadoop.fs.Path-boolean-">createLoader(Path, boolean)</a></span> - Method in class org.apache.hadoop.hbase.backup.util.<a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html" title="class in org.apache.hadoop.hbase.backup.util">RestoreTool</a></dt>
-<dd>
-<div class="block">Create a <a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.mapreduce"><code>LoadIncrementalHFiles</code></a> instance to be used to restore the HFiles of a full
- backup.</div>
-</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html#createLock">createLock</a></span> - Variable in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/RegionGroupingProvider.html" title="class in org.apache.hadoop.hbase.wal">RegionGroupingProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.html#createLog-int-int-int-org.apache.hadoop.hbase.ServerName-java.lang.Throwable-long-boolean-java.lang.String-int-int-">createLog(int, int, int, ServerName, Throwable, long, boolean, String, int, int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncRequestFutureImpl</a></dt>
@@ -19604,6 +19603,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#currentPath">currentPath</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#currentPos">currentPos</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALRecordReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReaderThread.html#currentPosition">currentPosition</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/ReplicationSourceWALReaderThread.html" title="class in org.apache.hadoop.hbase.replication.regionserver">ReplicationSourceWALReaderThread</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#currentPosition">currentPosition</a></span> - Variable in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></dt>
@@ -22197,6 +22198,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/querymatcher/ScanDeleteTracker.html#deleteBuffer">deleteBuffer</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.querymatcher.<a href="org/apache/hadoop/hbase/regionserver/querymatcher/ScanDeleteTracker.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">ScanDeleteTracker</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#deleteBulkLoadDirectory--">deleteBulkLoadDirectory()</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html#deleteBulkLoadedFiles-java.util.Map-">deleteBulkLoadedFiles(Map&lt;byte[], String&gt;)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupSystemTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ClusterConnection.html#deleteCachedRegionLocation-org.apache.hadoop.hbase.HRegionLocation-">deleteCachedRegionLocation(HRegionLocation)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a></dt>
@@ -31342,6 +31345,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#getArchivedLog-org.apache.hadoop.fs.Path-">getArchivedLog(Path)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#getArchivedLogPath-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">getArchivedLogPath(Path, Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></dt>
+<dd>
+<div class="block">Get the archived WAL file path</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html#getArchivedStoreFilesCount--">getArchivedStoreFilesCount()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html#getArchivedStoreFileSize--">getArchivedStoreFileSize()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></dt>
@@ -32083,8 +32090,12 @@
 <dd>
 <div class="block">Return the timestamp at which this bulk load file was generated.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#getBulkOutputDir--">getBulkOutputDir()</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/mapreduce/MapReduceRestoreJob.html#getBulkOutputDir-java.lang.String-">getBulkOutputDir(String)</a></span> - Method in class org.apache.hadoop.hbase.backup.mapreduce.<a href="org/apache/hadoop/hbase/backup/mapreduce/MapReduceRestoreJob.html" title="class in org.apache.hadoop.hbase.backup.mapreduce">MapReduceRestoreJob</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#getBulkOutputDirForTable-org.apache.hadoop.hbase.TableName-">getBulkOutputDirForTable(TableName)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/StoreFile.Comparators.GetBulkTime.html#GetBulkTime--">GetBulkTime()</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/StoreFile.Comparators.GetBulkTime.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFile.Comparators.GetBulkTime</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TableDescriptors.html#getByNamespace-java.lang.String-">getByNamespace(String)</a></span> - Method in interface org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TableDescriptors.html" title="interface in org.apache.hadoop.hbase">TableDescriptors</a></dt>
@@ -36294,7 +36305,11 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/BackupInfo.html#getIncrBackupFileList--">getIncrBackupFileList()</a></span> - Method in class org.apache.hadoop.hbase.backup.<a href="org/apache/hadoop/hbase/backup/BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html#getIncrBackupLogFileList-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.backup.BackupInfo-">getIncrBackupLogFileList(Connection, BackupInfo)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalBackupManager</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html#getIncrBackupLogFileList--">getIncrBackupLogFileList()</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalBackupManager</a></dt>
+<dd>
+<div class="block">Get list of WAL files eligible for incremental backup</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html#getIncrBackupLogFileMap--">getIncrBackupLogFileMap()</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalBackupManager</a></dt>
 <dd>
 <div class="block">Obtain the list of logs that need to be copied out for this incremental backup.</div>
 </dd>
@@ -38686,8 +38701,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.html#getMissing--">getMissing()</a></span> - Method in class org.apache.hadoop.hbase.util.hbck.<a href="org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.html" title="class in org.apache.hadoop.hbase.util.hbck">HFileCorruptionChecker</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#getMissingFiles-java.util.List-">getMissingFiles(List&lt;String&gt;)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html#getMissingLogsCount--">getMissingLogsCount()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html#getMissingStoreFilesCount--">getMissingStoreFilesCount()</a></span> - Method in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/SnapshotInfo.SnapshotStats.html" title="class in org.apache.hadoop.hbase.snapshot">SnapshotInfo.SnapshotStats</a></dt>
@@ -52265,6 +52278,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.html#ifMissing">ifMissing</a></span> - Variable in class org.apache.hadoop.hbase.rest.model.<a href="org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.html" title="class in org.apache.hadoop.hbase.rest.model">ScannerModel.FilterModel</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#IGNORE_MISSING_FILES">IGNORE_MISSING_FILES</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html" title="class in org.apache.hadoop.hbase.mapreduce">WALPlayer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#IGNORE_UNMATCHED_CF_CONF_KEY">IGNORE_UNMATCHED_CF_CONF_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.mapreduce">LoadIncrementalHFiles</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html#ignoreDirs">ignoreDirs</a></span> - Variable in class org.apache.hadoop.hbase.backup.util.<a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html" title="class in org.apache.hadoop.hbase.backup.util">RestoreTool</a></dt>
@@ -52903,10 +52918,8 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.NewestLogFilter.html" title="class in org.apache.hadoop.hbase.backup.impl"><span class="typeNameLink">IncrementalBackupManager.NewestLogFilter</span></a> - Class in <a href="org/apache/hadoop/hbase/backup/impl/package-summary.html">org.apache.hadoop.hbase.backup.impl</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#incrementalCopy-org.apache.hadoop.hbase.backup.BackupInfo-">incrementalCopy(BackupInfo)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
-<dd>
-<div class="block">Do incremental copy.</div>
-</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#incrementalCopyHFiles-org.apache.hadoop.hbase.backup.BackupInfo-">incrementalCopyHFiles(BackupInfo)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html#incrementalRestoreTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path:A-org.apache.hadoop.hbase.TableName:A-org.apache.hadoop.hbase.TableName:A-java.lang.String-">incrementalRestoreTable(Connection, Path, Path[], TableName[], TableName[], String)</a></span> - Method in class org.apache.hadoop.hbase.backup.util.<a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html" title="class in org.apache.hadoop.hbase.backup.util">RestoreTool</a></dt>
 <dd>
 <div class="block">During incremental backup operation.</div>
@@ -54455,6 +54468,8 @@
 <div class="block">Specify if ratio for data skew in M/R jobs, it goes well with the enabling hbase.mapreduce
  .input.autobalance property.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#INPUT_FILES_SEPARATOR_KEY">INPUT_FILES_SEPARATOR_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html" title="class in org.apache.hadoop.hbase.mapreduce">WALPlayer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TableInputFormat.html#INPUT_TABLE">INPUT_TABLE</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TableInputFormat</a></dt>
 <dd>
 <div class="block">Job parameter that specifies the input table.</div>
@@ -55247,6 +55262,10 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/MasterServices.html#isActiveMaster--">isActiveMaster()</a></span> - Method in interface org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/MasterServices.html" title="interface in org.apache.hadoop.hbase.master">MasterServices</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#isActiveWalPath-org.apache.hadoop.fs.Path-">isActiveWalPath(Path)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
+<dd>
+<div class="block">Check if a given path is belongs to active WAL directory</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeArrayScanner.html#isAfterLast--">isAfterLast()</a></span> - Method in class org.apache.hadoop.hbase.codec.prefixtree.decode.<a href="org/apache/hadoop/hbase/codec/prefixtree/decode/PrefixTreeArrayScanner.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.decode">PrefixTreeArrayScanner</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/http/HttpServer.html#isAlive--">isAlive()</a></span> - Method in class org.apache.hadoop.hbase.http.<a href="org/apache/hadoop/hbase/http/HttpServer.html" title="class in org.apache.hadoop.hbase.http">HttpServer</a></dt>
@@ -62207,6 +62226,8 @@
 <dd>
 <div class="block">Utility method broken out of internalPrepareFlushCache so that method is smaller.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#logFile">logFile</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALRecordReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.html#logFile">logFile</a></span> - Variable in class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">ProcedureWALFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html#logFileName">logFileName</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALSplit.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALSplit</a></dt>
@@ -71246,8 +71267,15 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/handler/OpenPriorityRegionHandler.html#OpenPriorityRegionHandler-org.apache.hadoop.hbase.Server-org.apache.hadoop.hbase.regionserver.RegionServerServices-org.apache.hadoop.hbase.HRegionInfo-org.apache.hadoop.hbase.HTableDescriptor-long-">OpenPriorityRegionHandler(Server, RegionServerServices, HRegionInfo, HTableDescriptor, long)</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.handler.<a href="org/apache/hadoop/hbase/regionserver/handler/OpenPriorityRegionHandler.html" title="class in org.apache.hadoop.hbase.regionserver.handler">OpenPriorityRegionHandler</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#openReader-org.apache.hadoop.fs.Path-">openReader(Path)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALRecordReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#openReader-org.apache.hadoop.fs.Path-">openReader(Path)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#openReader-org.apache.hadoop.fs.Path-org.apache.hadoop.conf.Configuration-">openReader(Path, Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></dt>
+<dd>
+<div class="block">Opens WAL reader with retries and
+ additional exception handling</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.html#openRegion--">openRegion()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.handler.<a href="org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.html" title="class in org.apache.hadoop.hbase.regionserver.handler">OpenRegionHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.html#openRegion-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest-">openRegion(RpcController, AdminProtos.OpenRegionRequest)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
@@ -80608,6 +80636,8 @@ service.</div>
 <dd>
 <div class="block">Try to recover the lease.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html#recoverLease-org.apache.hadoop.conf.Configuration-org.apache.hadoop.fs.Path-">recoverLease(Configuration, Path)</a></span> - Static method in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html" title="class in org.apache.hadoop.hbase.wal">AbstractFSWALProvider</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TableOutputCommitter.html#recoverTask-org.apache.hadoop.mapreduce.TaskAttemptContext-">recoverTask(TaskAttemptContext)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TableOutputCommitter.html" title="class in org.apache.hadoop.hbase.mapreduce">TableOutputCommitter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coordination/ZKSplitLogManagerCoordination.html#recoveryMode">recoveryMode</a></span> - Variable in class org.apache.hadoop.hbase.coordination.<a href="org/apache/hadoop/hbase/coordination/ZKSplitLogManagerCoordination.html" title="class in org.apache.hadoop.hbase.coordination">ZKSplitLogManagerCoordination</a></dt>
@@ -85666,8 +85696,6 @@ service.</div>
 <dd>
 <div class="block">Create a new <a href="org/apache/hadoop/hbase/io/HFileLink.html" title="class in org.apache.hadoop.hbase.io"><code>HFileLink</code></a> to reference the store file.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html#restoreTableAndCreate-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.Path-boolean-java.lang.String-">restoreTableAndCreate(Connection, TableName, TableName, Path, boolean, String)</a></span> - Method in class org.apache.hadoop.hbase.backup.util.<a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html" title="class in org.apache.hadoop.hbase.backup.util">RestoreTool</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html#restoreTableDescriptor-org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv-">restoreTableDescriptor(MasterProcedureEnv)</a></span> - Method in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">AddColumnFamilyProcedure</a></dt>
 <dd>
 <div class="block">Restore the table descriptor back to pre-add</div>
@@ -85692,8 +85720,6 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html#restoreTableToProcIdMap">restoreTableToProcIdMap</a></span> - Variable in class org.apache.hadoop.hbase.master.snapshot.<a href="org/apache/hadoop/hbase/master/snapshot/SnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">SnapshotManager</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html#restoreTmpPath">restoreTmpPath</a></span> - Variable in class org.apache.hadoop.hbase.backup.util.<a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html" title="class in org.apache.hadoop.hbase.backup.util">RestoreTool</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/backup/util/RestoreTool.html" title="class in org.apache.hadoop.hbase.backup.util"><span class="typeNameLink">RestoreTool</span></a> - Class in <a href="org/apache/hadoop/hbase/backup/util/package-summary.html">org.apache.hadoop.hbase.backup.util</a></dt>
 <dd>
 <div class="block">A collection for methods used by multiple classes to restore HBase tables.</div>
@@ -89343,6 +89369,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/FileLink.FileLinkInputStream.html#seek-long-">seek(long)</a></span> - Method in class org.apache.hadoop.hbase.io.<a href="org/apache/hadoop/hbase/io/FileLink.FileLinkInputStream.html" title="class in org.apache.hadoop.hbase.io">FileLink.FileLinkInputStream</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#seek--">seek()</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALRecordReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/KeyValueHeap.html#seek-org.apache.hadoop.hbase.Cell-">seek(Cell)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/KeyValueHeap.html" title="class in org.apache.hadoop.hbase.regionserver">KeyValueHeap</a></dt>
 <dd>
 <div class="block">Seeks all scanners at or below the specified seek key.</div>
@@ -91676,6 +91704,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.Node.Region.html#setCurrentCompactedKVs-long-">setCurrentCompactedKVs(long)</a></span> - Method in class org.apache.hadoop.hbase.rest.model.<a href="org/apache/hadoop/hbase/rest/model/StorageClusterStatusModel.Node.Region.html" title="class in org.apache.hadoop.hbase.rest.model">StorageClusterStatusModel.Node.Region</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html#setCurrentPath-org.apache.hadoop.fs.Path-">setCurrentPath(Path)</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.WALRecordReader.html" title="class in org.apache.hadoop.hbase.mapreduce">WALInputFormat.WALRecordReader</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html#setCurrentPath-org.apache.hadoop.fs.Path-">setCurrentPath(Path)</a></span> - Method in class org.apache.hadoop.hbase.replication.regionserver.<a href="org/apache/hadoop/hbase/replication/regionserver/WALEntryStream.html" title="class in org.apache.hadoop.hbase.replication.regionserver">WALEntryStream</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.ZkSplitTaskDetails.html#setCurTaskZKVersion-org.apache.commons.lang.mutable.MutableInt-">setCurTaskZKVersion(MutableInt)</a></span> - Method in class org.apache.hadoop.hbase.coordination.<a href="org/apache/hadoop/hbase/coordination/ZkSplitLogWorkerCoordination.ZkSplitTaskDetails.html" title="class in org.apache.hadoop.hbase.coordination">ZkSplitLogWorkerCoordination.ZkSplitTaskDetails</a></dt>
@@ -100506,6 +100536,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/AsyncMetaTableAccessor.html#tableExists-org.apache.hadoop.hbase.client.RawAsyncTable-org.apache.hadoop.hbase.TableName-">tableExists(RawAsyncTable, TableName)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/AsyncMetaTableAccessor.html" title="class in org.apache.hadoop.hbase">AsyncMetaTableAccessor</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#tableExists-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Connection-">tableExists(TableName, Connection)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Admin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Admin.html" title="interface in org.apache.hadoop.hbase.client">Admin</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#tableExists-org.apache.hadoop.hbase.TableName-">tableExists(TableName)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a></dt>
@@ -104472,8 +104504,6 @@ service.</div>
 <dd>
 <div class="block">Create the content to write into the ${HBASE_ROOTDIR}/hbase.version file.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html#toWALList-java.util.List-">toWALList(List&lt;BackupSystemTable.WALItem&gt;)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalBackupManager</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html#toWriteAppends">toWriteAppends</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/AsyncFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AsyncFSWAL</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.html#toZooKeeperOp-org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher-org.apache.hadoop.hbase.zookeeper.ZKUtil.ZKUtilOp-">toZooKeeperOp(ZooKeeperWatcher, ZKUtil.ZKUtilOp)</a></span> - Static method in class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKUtil</a></dt>
@@ -110158,6 +110188,8 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html#walSyncTimeoutNs">walSyncTimeoutNs</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/AbstractFSWAL.html" title="class in org.apache.hadoop.hbase.regionserver.wal">AbstractFSWAL</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#walToHFiles-java.util.List-org.apache.hadoop.hbase.TableName-">walToHFiles(List&lt;String&gt;, TableName)</a></span> - Method in class org.apache.hadoop.hbase.backup.impl.<a href="org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html" title="class in org.apache.hadoop.hbase.backup.impl">IncrementalTableBackupClient</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/regionserver/wal/WALUtil.html" title="class in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">WALUtil</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/wal/package-summary.html">org.apache.hadoop.hbase.regionserver.wal</a></dt>
 <dd>
 <div class="block">Helper methods to ease Region Server integration with the Write Ahead Log (WAL).</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
index fead438..eede6d3 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -165,10 +165,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://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.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupRestoreConstants.BackupCommand.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupRestoreConstants.BackupCommand</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupPhase.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupPhase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupType.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.backup.<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.BackupState.html" title="enum in org.apache.hadoop.hbase.backup"><span class="typeNameLink">BackupInfo.BackupState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
index 25e8e89..7ce1e58 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -1387,39 +1387,43 @@ service.</div>
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.fs.Path</code></td>
+<td class="colLast"><span class="typeNameLabel">IncrementalTableBackupClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#getBulkOutputDirForTable-org.apache.hadoop.hbase.TableName-">getBulkOutputDirForTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupManifest.BackupImage.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupManifest.BackupImage</a>&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">BackupManifest.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupManifest.html#getDependentListByTable-org.apache.hadoop.hbase.TableName-">getDependentListByTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>
 <div class="block">Get the dependent image list for a specific table of this backup in time order from old to new
  if want to restore to this backup image level.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) static int</code></td>
 <td class="colLast"><span class="typeNameLabel">IncrementalTableBackupClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#getIndex-org.apache.hadoop.hbase.TableName-java.util.List-">getIndex</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tbl,
         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&gt;&nbsp;sTableList)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">BackupManifest.BackupImage.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupManifest.BackupImage.html#hasTable-org.apache.hadoop.hbase.TableName-">hasTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private boolean</code></td>
 <td class="colLast"><span class="typeNameLabel">BackupAdminImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#isLastBackupSession-org.apache.hadoop.hbase.backup.impl.BackupSystemTable-org.apache.hadoop.hbase.TableName-long-">isLastBackupSession</a></span>(<a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupSystemTable</a>&nbsp;table,
                    <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                    long&nbsp;startTime)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BackupAdminImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#removeFromBackupSet-java.lang.String-org.apache.hadoop.hbase.TableName:A-">removeFromBackupSet</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                    <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;tables)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">BackupAdminImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#removeTableFromBackupImage-org.apache.hadoop.hbase.backup.BackupInfo-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.backup.impl.BackupSystemTable-">removeTableFromBackupImage</a></span>(<a href="../../../../../org/apache/hadoop/hbase/backup/BackupInfo.html" title="class in org.apache.hadoop.hbase.backup">BackupInfo</a>&nbsp;info,
                           <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tn,
                           <a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupSystemTable</a>&nbsp;sysTable)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTablesClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/RestoreTablesClient.html#restore-java.util.HashMap-org.apache.hadoop.hbase.TableName:A-org.apache.hadoop.hbase.TableName:A-boolean-">restore</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</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/backup/impl/BackupManifest.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupManifest</a>&gt;&nbsp;backupManifestMap,
        <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;sTableArray,
@@ -1428,7 +1432,7 @@ service.</div>
 <div class="block">Restore operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTablesClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/RestoreTablesClient.html#restore-java.util.HashMap-org.apache.hadoop.hbase.TableName:A-org.apache.hadoop.hbase.TableName:A-boolean-">restore</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</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/backup/impl/BackupManifest.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupManifest</a>&gt;&nbsp;backupManifestMap,
        <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;sTableArray,
@@ -1437,7 +1441,7 @@ service.</div>
 <div class="block">Restore operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTablesClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/RestoreTablesClient.html#restoreImages-org.apache.hadoop.hbase.backup.impl.BackupManifest.BackupImage:A-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.TableName-boolean-">restoreImages</a></span>(<a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupManifest.BackupImage.html" title="class in org.apache.hadoop.hbase.backup.impl">BackupManifest.BackupImage</a>[]&nbsp;images,
              <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;sTable,
@@ -1446,6 +1450,11 @@ service.</div>
 <div class="block">Restore operation handle each backupImage in array</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private boolean</code></td>
+<td class="colLast"><span class="typeNameLabel">IncrementalTableBackupClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#tableExists-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Connection-">tableExists</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;table,
+           <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn)</code>&nbsp;</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://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"><span class="typeNameLabel">BackupAdminImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupAdminImpl.html#toStringArray-org.apache.hadoop.hbase.TableName:A-">toStringArray</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]&nbsp;list)</code>&nbsp;</td>
@@ -1456,13 +1465,18 @@ service.</div>
                            <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="http://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="http://docs.oracle.com/javase/8/docs/api/java/lang/Long.html?is-external=true" title="class or interface in java.lang">Long</a>&gt;&nbsp;map)</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">IncrementalTableBackupClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.html#walToHFiles-java.util.List-org.apache.hadoop.hbase.TableName-">walToHFiles</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;dirPaths,
+           <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"><span class="typeNameLabel">BackupSystemTable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html#writeFilesForBulkLoadPreCommit-org.apache.hadoop.hbase.TableName-byte:A-byte:A-java.util.List-">writeFilesForBulkLoadPreCommit</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tabName,
                               byte[]&nbsp;region,
                               byte[]&nbsp;family,
                               <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.fs.Path,org.apache.hadoop.fs.Path&gt;&gt;&nbsp;pairs)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">BackupSystemTable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/impl/BackupSystemTable.html#writePathsPostBulkLoad-org.apache.hadoop.hbase.TableName-byte:A-java.util.Map-">writePathsPostBulkLoad</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tabName,
                       byte[]&nbsp;region,
@@ -1792,6 +1806,15 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#createAndRestoreTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.Path-boolean-java.lang.String-">createAndRestoreTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
+                     <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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;newTableName,
+                     org.apache.hadoop.fs.Path&nbsp;tableBackupPath,
+                     boolean&nbsp;truncateIfExists,
+                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lastIncrBackupId)</code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/backup/RestoreRequest.html" title="class in org.apache.hadoop.hbase.backup">RestoreRequest</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BackupUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/BackupUtils.html#createRestoreRequest-java.lang.String-java.lang.String-boolean-org.apache.hadoop.hbase.TableName:A-org.apache.hadoop.hbase.TableName:A-boolean-">createRestoreRequest</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;backupRootDir,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;backupId,
@@ -1802,7 +1825,7 @@ service.</div>
 <div class="block">Create restore request.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/backup/RestoreRequest.html" title="class in org.apache.hadoop.hbase.backup">RestoreRequest</a></code></td>
 <td class="colLast"><span class="typeNameLabel">BackupUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/BackupUtils.html#createRestoreRequest-java.lang.String-java.lang.String-boolean-org.apache.hadoop.hbase.TableName:A-org.apache.hadoop.hbase.TableName:A-boolean-">createRestoreRequest</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;backupRootDir,
                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;backupId,
@@ -1813,7 +1836,7 @@ service.</div>
 <div class="block">Create restore request.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#fullRestoreTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.TableName-boolean-java.lang.String-">fullRestoreTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                 org.apache.hadoop.fs.Path&nbsp;tableBackupPath,
@@ -1822,20 +1845,20 @@ service.</div>
                 boolean&nbsp;truncateIfExists,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lastIncrBackupId)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html?is-external=true" title="class or interface in java.util">ArrayList</a>&lt;org.apache.hadoop.fs.Path&gt;</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#getRegionList-org.apache.hadoop.hbase.TableName-">getRegionList</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Gets region list</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#getTableArchivePath-org.apache.hadoop.hbase.TableName-">getTableArchivePath</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">return value represent path for:
  ".../user/biadmin/backup1/default/t1_dn/backup_1396650096738/archive/data/default/t1_dn"</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://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"><span class="typeNameLabel">BackupUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/BackupUtils.html#getTableBackupDir-java.lang.String-java.lang.String-org.apache.hadoop.hbase.TableName-">getTableBackupDir</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;backupRootDir,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;backupId,
@@ -1844,19 +1867,19 @@ service.</div>
  which is also where the backup manifest file is.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#getTableDesc-org.apache.hadoop.hbase.TableName-">getTableDesc</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Get table descriptor</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HTableDescriptor.html" title="class in org.apache.hadoop.hbase">HTableDescriptor</a></code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#getTableDescriptor-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.hbase.TableName-java.lang.String-">getTableDescriptor</a></span>(org.apache.hadoop.fs.FileSystem&nbsp;fileSys,
                   <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
                   <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lastIncrBackupId)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#getTableInfoPath-org.apache.hadoop.hbase.TableName-">getTableInfoPath</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName)</code>
 <div class="block">Returns value represent path for:
@@ -1865,7 +1888,7 @@ service.</div>
  .data.manifest (trunk)</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.fs.Path</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#getTableSnapshotPath-org.apache.hadoop.fs.Path-org.apache.hadoop.hbase.TableName-java.lang.String-">getTableSnapshotPath</a></span>(org.apache.hadoop.fs.Path&nbsp;backupRootPath,
                     <a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;tableName,
@@ -1874,7 +1897,7 @@ service.</div>
  "/$USER/SBACKUP_ROOT/backup_id/namespace/table/.hbase-snapshot"</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#incrementalRestoreTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path:A-org.apache.hadoop.hbase.TableName:A-org.apache.hadoop.hbase.TableName:A-java.lang.String-">incrementalRestoreTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                        org.apache.hadoop.fs.Path&nbsp;tableBackupPath,
@@ -1885,7 +1908,7 @@ service.</div>
 <div class="block">During incremental backup operation.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#incrementalRestoreTable-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.Path:A-org.apache.hadoop.hbase.TableName:A-org.apache.hadoop.hbase.TableName:A-java.lang.String-">incrementalRestoreTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
                        org.apache.hadoop.fs.Path&nbsp;tableBackupPath,
@@ -1896,15 +1919,6 @@ service.</div>
 <div class="block">During incremental backup operation.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><span class="typeNameLabel">RestoreTool.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/backup/util/RestoreTool.html#restoreTableAndCreate-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.TableName-org.apache.hadoop.fs.Path-boolean-java.lang.String-">restoreTableAndCreate</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a>&nbsp;conn,
-                     <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/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>&nbsp;newTableName,
-                     org.apache.hadoop.fs.Path&nbsp;tableBackupPath,
-                     boolean&nbsp;truncateIfExists,
-                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;lastIncrBackupId)</code>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 <table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">


[23/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
index 05e46b2..12db0bb 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
@@ -28,283 +28,328 @@
 <span class="sourceLineNo">020</span>import java.io.DataInput;<a name="line.20"></a>
 <span class="sourceLineNo">021</span>import java.io.DataOutput;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import java.io.EOFException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.ArrayList;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.Collections;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.List;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FileStatus;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileSystem;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.Path;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WALFactory;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.io.Writable;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.util.StringUtils;<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>/**<a name="line.51"></a>
-<span class="sourceLineNo">052</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.52"></a>
-<span class="sourceLineNo">053</span> */<a name="line.53"></a>
-<span class="sourceLineNo">054</span>@InterfaceAudience.Public<a name="line.54"></a>
-<span class="sourceLineNo">055</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /**<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   * exactly one log file.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>   */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    private String logFileName;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    private long fileSize;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    private long startTime;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    private long endTime;<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>    /** for serialization */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    public WALSplit() {}<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>    /**<a name="line.74"></a>
-<span class="sourceLineNo">075</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.75"></a>
-<span class="sourceLineNo">076</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.76"></a>
-<span class="sourceLineNo">077</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.77"></a>
-<span class="sourceLineNo">078</span>     * @param logFileName<a name="line.78"></a>
-<span class="sourceLineNo">079</span>     * @param fileSize<a name="line.79"></a>
-<span class="sourceLineNo">080</span>     * @param startTime<a name="line.80"></a>
-<span class="sourceLineNo">081</span>     * @param endTime<a name="line.81"></a>
-<span class="sourceLineNo">082</span>     */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.83"></a>
-<span class="sourceLineNo">084</span>      this.logFileName = logFileName;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      this.fileSize = fileSize;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      this.startTime = startTime;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      this.endTime = endTime;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>    @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    public long getLength() throws IOException, InterruptedException {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      return fileSize;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>    @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return new String[] {};<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public String getLogFileName() {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      return logFileName;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    }<a name="line.103"></a>
-<span class="sourceLineNo">104</span><a name="line.104"></a>
-<span class="sourceLineNo">105</span>    public long getStartTime() {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      return startTime;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>    public long getEndTime() {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      return endTime;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>    @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    public void readFields(DataInput in) throws IOException {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      logFileName = in.readUTF();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      fileSize = in.readLong();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      startTime = in.readLong();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      endTime = in.readLong();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>    @Override<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    public void write(DataOutput out) throws IOException {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      out.writeUTF(logFileName);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      out.writeLong(fileSize);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      out.writeLong(startTime);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      out.writeLong(endTime);<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    }<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>    @Override<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String toString() {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * {@link RecordReader} for an {@link WAL} file.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private Reader reader = null;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    Entry currentEntry = new Entry();<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    private long startTime;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private long endTime;<a name="line.144"></a>
-<span class="sourceLineNo">145</span><a name="line.145"></a>
-<span class="sourceLineNo">146</span>    @Override<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.147"></a>
-<span class="sourceLineNo">148</span>        throws IOException, InterruptedException {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      WALSplit hsplit = (WALSplit)split;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      Path logFile = new Path(hsplit.getLogFileName());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      Configuration conf = context.getConfiguration();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      LOG.info("Opening reader for "+split);<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      try {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>        this.reader = WALFactory.createReader(logFile.getFileSystem(conf), logFile, conf);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      } catch (EOFException x) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        LOG.info("Ignoring corrupted WAL file: " + logFile<a name="line.156"></a>
-<span class="sourceLineNo">157</span>            + " (This is normal when a RegionServer crashed.)");<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        this.reader = null;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      }<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      this.startTime = hsplit.getStartTime();<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      this.endTime = hsplit.getEndTime();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>      if (reader == null) return false;<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>      Entry temp;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      long i = -1;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      do {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        // skip older entries<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        try {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>          temp = reader.next(currentEntry);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>          i++;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        } catch (EOFException x) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>          LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.176"></a>
-<span class="sourceLineNo">177</span>              + " (This is normal when a RegionServer crashed.)");<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          return false;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>        }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      while(temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>      if (temp == null) {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>        if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.184"></a>
-<span class="sourceLineNo">185</span>        LOG.info("Reached end of file.");<a name="line.185"></a>
-<span class="sourceLineNo">186</span>        return false;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      } else if (i &gt; 0) {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>      if (!res) {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        LOG.info("Reached ts: " + temp.getKey().getWriteTime() + " ignoring the rest of the file.");<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      }<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      return res;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    }<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>    @Override<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      return currentEntry.getEdit();<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    @Override<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      // N/A depends on total number of entries, which is unknown<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return 0;<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>    public void close() throws IOException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      LOG.info("Closing reader");<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      if (reader != null) this.reader.close();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    }<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  }<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>  /**<a name="line.215"></a>
-<span class="sourceLineNo">216</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * need to support HLogInputFormat.<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   */<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    @Override<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return currentEntry.getKey();<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span>  @Override<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      InterruptedException {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  }<a name="line.230"></a>
+<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.ArrayList;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.Collections;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.List;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.conf.Configuration;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileStatus;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.FileSystem;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.fs.LocatedFileStatus;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.fs.Path;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.fs.RemoteIterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.wal.AbstractFSWALProvider;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.wal.WAL.Entry;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.wal.WAL.Reader;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.io.Writable;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.mapreduce.InputFormat;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.mapreduce.InputSplit;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.mapreduce.JobContext;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.mapreduce.RecordReader;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.mapreduce.TaskAttemptContext;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.util.StringUtils;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>/**<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * Simple {@link InputFormat} for {@link org.apache.hadoop.hbase.wal.WAL} files.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Public<a name="line.56"></a>
+<span class="sourceLineNo">057</span>public class WALInputFormat extends InputFormat&lt;WALKey, WALEdit&gt; {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private static final Log LOG = LogFactory.getLog(WALInputFormat.class);<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final String START_TIME_KEY = "wal.start.time";<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public static final String END_TIME_KEY = "wal.end.time";<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  /**<a name="line.63"></a>
+<span class="sourceLineNo">064</span>   * {@link InputSplit} for {@link WAL} files. Each split represent<a name="line.64"></a>
+<span class="sourceLineNo">065</span>   * exactly one log file.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>   */<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  static class WALSplit extends InputSplit implements Writable {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    private String logFileName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    private long fileSize;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    private long startTime;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    private long endTime;<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /** for serialization */<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    public WALSplit() {}<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>    /**<a name="line.76"></a>
+<span class="sourceLineNo">077</span>     * Represent an WALSplit, i.e. a single WAL file.<a name="line.77"></a>
+<span class="sourceLineNo">078</span>     * Start- and EndTime are managed by the split, so that WAL files can be<a name="line.78"></a>
+<span class="sourceLineNo">079</span>     * filtered before WALEdits are passed to the mapper(s).<a name="line.79"></a>
+<span class="sourceLineNo">080</span>     * @param logFileName<a name="line.80"></a>
+<span class="sourceLineNo">081</span>     * @param fileSize<a name="line.81"></a>
+<span class="sourceLineNo">082</span>     * @param startTime<a name="line.82"></a>
+<span class="sourceLineNo">083</span>     * @param endTime<a name="line.83"></a>
+<span class="sourceLineNo">084</span>     */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    public WALSplit(String logFileName, long fileSize, long startTime, long endTime) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      this.logFileName = logFileName;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>      this.fileSize = fileSize;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>      this.startTime = startTime;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      this.endTime = endTime;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    }<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>    @Override<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    public long getLength() throws IOException, InterruptedException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      return fileSize;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>    @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    public String[] getLocations() throws IOException, InterruptedException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      // TODO: Find the data node with the most blocks for this WAL?<a name="line.99"></a>
+<span class="sourceLineNo">100</span>      return new String[] {};<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    }<a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span>    public String getLogFileName() {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      return logFileName;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public long getStartTime() {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      return startTime;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>    public long getEndTime() {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      return endTime;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>    @Override<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    public void readFields(DataInput in) throws IOException {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      logFileName = in.readUTF();<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      fileSize = in.readLong();<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      startTime = in.readLong();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      endTime = in.readLong();<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>    @Override<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void write(DataOutput out) throws IOException {<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      out.writeUTF(logFileName);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>      out.writeLong(fileSize);<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      out.writeLong(startTime);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      out.writeLong(endTime);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    }<a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130"></a>
+<span class="sourceLineNo">131</span>    @Override<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    public String toString() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      return logFileName + " (" + startTime + ":" + endTime + ") length:" + fileSize;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    }<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>   * {@link RecordReader} for an {@link WAL} file.<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * Implementation shared with deprecated HLogInputFormat.<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  static abstract class WALRecordReader&lt;K extends WALKey&gt; extends RecordReader&lt;K, WALEdit&gt; {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    private Reader reader = null;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    // visible until we can remove the deprecated HLogInputFormat<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    Entry currentEntry = new Entry();<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    private long startTime;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    private long endTime;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    private Configuration conf;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    private Path logFile;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    private long currentPos;<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    public void initialize(InputSplit split, TaskAttemptContext context)<a name="line.152"></a>
+<span class="sourceLineNo">153</span>        throws IOException, InterruptedException {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      WALSplit hsplit = (WALSplit)split;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      logFile = new Path(hsplit.getLogFileName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      conf = context.getConfiguration();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      LOG.info("Opening reader for "+split);<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      openReader(logFile);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      this.startTime = hsplit.getStartTime();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      this.endTime = hsplit.getEndTime();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162"></a>
+<span class="sourceLineNo">163</span>    private void openReader(Path path) throws IOException<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      closeReader();<a name="line.165"></a>
+<span class="sourceLineNo">166</span>      reader = AbstractFSWALProvider.openReader(path, conf);<a name="line.166"></a>
+<span class="sourceLineNo">167</span>      seek();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      setCurrentPath(path);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    }<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>    private void setCurrentPath(Path path) {<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      this.logFile = path;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    }<a name="line.173"></a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span>    private void closeReader() throws IOException {<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      if (reader != null) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        reader.close();<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        reader = null;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>      }<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    }<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>    private void seek() throws IOException {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      if (currentPos != 0) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>        reader.seek(currentPos);<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      }<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>    @Override<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    public boolean nextKeyValue() throws IOException, InterruptedException {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      if (reader == null) return false;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      this.currentPos = reader.getPosition();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      Entry temp;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>      long i = -1;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>      try {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>        do {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>          // skip older entries<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          try {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>            temp = reader.next(currentEntry);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            i++;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          } catch (EOFException x) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>            LOG.warn("Corrupted entry detected. Ignoring the rest of the file."<a name="line.201"></a>
+<span class="sourceLineNo">202</span>                + " (This is normal when a RegionServer crashed.)");<a name="line.202"></a>
+<span class="sourceLineNo">203</span>            return false;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>          }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>        } while (temp != null &amp;&amp; temp.getKey().getWriteTime() &lt; startTime);<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>        if (temp == null) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>          if (i &gt; 0) LOG.info("Skipped " + i + " entries.");<a name="line.208"></a>
+<span class="sourceLineNo">209</span>          LOG.info("Reached end of file.");<a name="line.209"></a>
+<span class="sourceLineNo">210</span>          return false;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>        } else if (i &gt; 0) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>          LOG.info("Skipped " + i + " entries, until ts: " + temp.getKey().getWriteTime() + ".");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        }<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        boolean res = temp.getKey().getWriteTime() &lt;= endTime;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>        if (!res) {<a name="line.215"></a>
+<span class="sourceLineNo">216</span>          LOG.info("Reached ts: " + temp.getKey().getWriteTime()<a name="line.216"></a>
+<span class="sourceLineNo">217</span>              + " ignoring the rest of the file.");<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        }<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        return res;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      } catch (IOException e) {<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        Path archivedLog = AbstractFSWALProvider.getArchivedLogPath(logFile, conf);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>        if (logFile != archivedLog) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>          openReader(archivedLog);<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          // Try call again in recursion<a name="line.224"></a>
+<span class="sourceLineNo">225</span>          return nextKeyValue();<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        } else {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          throw e;<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>    }<a name="line.230"></a>
 <span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  /**<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   * implementation shared with deprecated HLogInputFormat<a name="line.233"></a>
-<span class="sourceLineNo">234</span>   */<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      throws IOException, InterruptedException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    Configuration conf = context.getConfiguration();<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.240"></a>
-<span class="sourceLineNo">241</span><a name="line.241"></a>
-<span class="sourceLineNo">242</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    for(Path inputPath: inputPaths){<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.244"></a>
-<span class="sourceLineNo">245</span>      List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      allFiles.addAll(files);<a name="line.246"></a>
+<span class="sourceLineNo">232</span>    @Override<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public WALEdit getCurrentValue() throws IOException, InterruptedException {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>      return currentEntry.getEdit();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    }<a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236"></a>
+<span class="sourceLineNo">237</span>    @Override<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    public float getProgress() throws IOException, InterruptedException {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      // N/A depends on total number of entries, which is unknown<a name="line.239"></a>
+<span class="sourceLineNo">240</span>      return 0;<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>    @Override<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public void close() throws IOException {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      LOG.info("Closing reader");<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      if (reader != null) this.reader.close();<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    for (FileStatus file : allFiles) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    }<a name="line.251"></a>
-<span class="sourceLineNo">252</span>    return splits;<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>  private Path[] getInputPaths(Configuration conf) {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    String inpDirs = conf.get("mapreduce.input.fileinputformat.inputdir");<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    return StringUtils.stringToPath(inpDirs.split(","));<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>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      throws IOException {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    while (iter.hasNext()) {<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      LocatedFileStatus file = iter.next();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      if (file.isDirectory()) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>        // recurse into sub directories<a name="line.270"></a>
-<span class="sourceLineNo">271</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      } else {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        String name = file.getPath().toString();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>        int idx = name.lastIndexOf('.');<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        if (idx &gt; 0) {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>          try {<a name="line.276"></a>
-<span class="sourceLineNo">277</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>            if (fileStartTime &lt;= endTime) {<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              LOG.info("Found: " + file);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>              result.add(file);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>            }<a name="line.281"></a>
-<span class="sourceLineNo">282</span>          } catch (NumberFormatException x) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>            idx = 0;<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>        if (idx == 0) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.287"></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>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * handler for non-deprecated WALKey version. fold into WALRecordReader once we no longer<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * need to support HLogInputFormat.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  static class WALKeyRecordReader extends WALRecordReader&lt;WALKey&gt; {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    @Override<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    public WALKey getCurrentKey() throws IOException, InterruptedException {<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      return currentEntry.getKey();<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><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  @Override<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  public List&lt;InputSplit&gt; getSplits(JobContext context) throws IOException,<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      InterruptedException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    return getSplits(context, START_TIME_KEY, END_TIME_KEY);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  }<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  /**<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * implementation shared with deprecated HLogInputFormat<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  List&lt;InputSplit&gt; getSplits(final JobContext context, final String startKey, final String endKey)<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      throws IOException, InterruptedException {<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    Configuration conf = context.getConfiguration();<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    boolean ignoreMissing = conf.getBoolean(WALPlayer.IGNORE_MISSING_FILES, false);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    Path[] inputPaths = getInputPaths(conf);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    long startTime = conf.getLong(startKey, Long.MIN_VALUE);<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    long endTime = conf.getLong(endKey, Long.MAX_VALUE);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>    List&lt;FileStatus&gt; allFiles = new ArrayList&lt;FileStatus&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    for(Path inputPath: inputPaths){<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      FileSystem fs = inputPath.getFileSystem(conf);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      try {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        List&lt;FileStatus&gt; files = getFiles(fs, inputPath, startTime, endTime);<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        allFiles.addAll(files);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      } catch (FileNotFoundException e) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        if (ignoreMissing) {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>          LOG.warn("File "+ inputPath +" is missing. Skipping it.");<a name="line.286"></a>
+<span class="sourceLineNo">287</span>          continue;<a name="line.287"></a>
 <span class="sourceLineNo">288</span>        }<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    return result;<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>  @Override<a name="line.294"></a>
-<span class="sourceLineNo">295</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    return new WALKeyRecordReader();<a name="line.297"></a>
-<span class="sourceLineNo">298</span>  }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>}<a name="line.299"></a>
+<span class="sourceLineNo">289</span>        throw e;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    List&lt;InputSplit&gt; splits = new ArrayList&lt;InputSplit&gt;(allFiles.size());<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    for (FileStatus file : allFiles) {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      splits.add(new WALSplit(file.getPath().toString(), file.getLen(), startTime, endTime));<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    return splits;<a name="line.296"></a>
+<span class="sourceLineNo">297</span>  }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>  private Path[] getInputPaths(Configuration conf) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    String inpDirs = conf.get(FileInputFormat.INPUT_DIR);<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    return StringUtils.stringToPath(<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      inpDirs.split(conf.get(WALPlayer.INPUT_FILES_SEPARATOR_KEY, ",")));<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>  private List&lt;FileStatus&gt; getFiles(FileSystem fs, Path dir, long startTime, long endTime)<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      throws IOException {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    List&lt;FileStatus&gt; result = new ArrayList&lt;&gt;();<a name="line.307"></a>
+<span class="sourceLineNo">308</span>    LOG.debug("Scanning " + dir.toString() + " for WAL files");<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    RemoteIterator&lt;LocatedFileStatus&gt; iter = fs.listLocatedStatus(dir);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    if (!iter.hasNext()) return Collections.emptyList();<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    while (iter.hasNext()) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      LocatedFileStatus file = iter.next();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      if (file.isDirectory()) {<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        // recurse into sub directories<a name="line.315"></a>
+<span class="sourceLineNo">316</span>        result.addAll(getFiles(fs, file.getPath(), startTime, endTime));<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      } else {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        String name = file.getPath().toString();<a name="line.318"></a>
+<span class="sourceLineNo">319</span>        int idx = name.lastIndexOf('.');<a name="line.319"></a>
+<span class="sourceLineNo">320</span>        if (idx &gt; 0) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>          try {<a name="line.321"></a>
+<span class="sourceLineNo">322</span>            long fileStartTime = Long.parseLong(name.substring(idx+1));<a name="line.322"></a>
+<span class="sourceLineNo">323</span>            if (fileStartTime &lt;= endTime) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>              LOG.info("Found: " + file);<a name="line.324"></a>
+<span class="sourceLineNo">325</span>              result.add(file);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>            }<a name="line.326"></a>
+<span class="sourceLineNo">327</span>          } catch (NumberFormatException x) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span>            idx = 0;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>          }<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>        if (idx == 0) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>          LOG.warn("File " + name + " does not appear to be an WAL file. Skipping...");<a name="line.332"></a>
+<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      }<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    }<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    return result;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>  }<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>  @Override<a name="line.339"></a>
+<span class="sourceLineNo">340</span>  public RecordReader&lt;WALKey, WALEdit&gt; createRecordReader(InputSplit split,<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      TaskAttemptContext context) throws IOException, InterruptedException {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    return new WALKeyRecordReader();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>  }<a name="line.343"></a>
+<span class="sourceLineNo">344</span>}<a name="line.344"></a>
 
 
 


[02/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html b/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
index 9810c8d..bf5c23a 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-info.html b/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
index 27f5223..8b6d13a 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-management.html b/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
index 49b0a59..f7796ee 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/index.html b/hbase-archetypes/hbase-shaded-client-project/index.html
index d1ac9dd..644553f 100644
--- a/hbase-archetypes/hbase-shaded-client-project/index.html
+++ b/hbase-archetypes/hbase-shaded-client-project/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/integration.html b/hbase-archetypes/hbase-shaded-client-project/integration.html
index 2867340..e4ca73e 100644
--- a/hbase-archetypes/hbase-shaded-client-project/integration.html
+++ b/hbase-archetypes/hbase-shaded-client-project/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html b/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
index 3e03a70..fedf7ec 100644
--- a/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
+++ b/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/license.html b/hbase-archetypes/hbase-shaded-client-project/license.html
index dc842c1..3209b7d 100644
--- a/hbase-archetypes/hbase-shaded-client-project/license.html
+++ b/hbase-archetypes/hbase-shaded-client-project/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/mail-lists.html b/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
index 3289d1f..6d8402f 100644
--- a/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
+++ b/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/plugin-management.html b/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
index e6cd6c9..6c85fe7 100644
--- a/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
+++ b/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/plugins.html b/hbase-archetypes/hbase-shaded-client-project/plugins.html
index 2d2d858..97f49a6 100644
--- a/hbase-archetypes/hbase-shaded-client-project/plugins.html
+++ b/hbase-archetypes/hbase-shaded-client-project/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-info.html b/hbase-archetypes/hbase-shaded-client-project/project-info.html
index 4afa788..1f4ad91 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-info.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-reports.html b/hbase-archetypes/hbase-shaded-client-project/project-reports.html
index 38cbecb..425628a 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-reports.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-summary.html b/hbase-archetypes/hbase-shaded-client-project/project-summary.html
index e19a519..a1acc7a 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-summary.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/source-repository.html b/hbase-archetypes/hbase-shaded-client-project/source-repository.html
index f43b100..ef4ef43 100644
--- a/hbase-archetypes/hbase-shaded-client-project/source-repository.html
+++ b/hbase-archetypes/hbase-shaded-client-project/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/hbase-shaded-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/team-list.html b/hbase-archetypes/hbase-shaded-client-project/team-list.html
index 6dcc421..518554d 100644
--- a/hbase-archetypes/hbase-shaded-client-project/team-list.html
+++ b/hbase-archetypes/hbase-shaded-client-project/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/index.html b/hbase-archetypes/index.html
index 94bd9fe..625c631 100644
--- a/hbase-archetypes/index.html
+++ b/hbase-archetypes/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/integration.html b/hbase-archetypes/integration.html
index ad1a093..2c3da95 100644
--- a/hbase-archetypes/integration.html
+++ b/hbase-archetypes/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/issue-tracking.html b/hbase-archetypes/issue-tracking.html
index 5f75ba0..dbd8c0c 100644
--- a/hbase-archetypes/issue-tracking.html
+++ b/hbase-archetypes/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/license.html b/hbase-archetypes/license.html
index 4993b03..2ec83d8 100644
--- a/hbase-archetypes/license.html
+++ b/hbase-archetypes/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/mail-lists.html b/hbase-archetypes/mail-lists.html
index f182afc..bbcdad4 100644
--- a/hbase-archetypes/mail-lists.html
+++ b/hbase-archetypes/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugin-management.html b/hbase-archetypes/plugin-management.html
index f90ff92..a26fa59 100644
--- a/hbase-archetypes/plugin-management.html
+++ b/hbase-archetypes/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugins.html b/hbase-archetypes/plugins.html
index acaf8d8..7b2769c 100644
--- a/hbase-archetypes/plugins.html
+++ b/hbase-archetypes/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-info.html b/hbase-archetypes/project-info.html
index 257774a..b701769 100644
--- a/hbase-archetypes/project-info.html
+++ b/hbase-archetypes/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-summary.html b/hbase-archetypes/project-summary.html
index e0f5e24..ec7616c 100644
--- a/hbase-archetypes/project-summary.html
+++ b/hbase-archetypes/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/source-repository.html b/hbase-archetypes/source-repository.html
index 2a88491..5bd12cf 100644
--- a/hbase-archetypes/source-repository.html
+++ b/hbase-archetypes/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-archetypes/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/team-list.html b/hbase-archetypes/team-list.html
index af78cec..b5a84d1 100644
--- a/hbase-archetypes/team-list.html
+++ b/hbase-archetypes/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-spark/checkstyle.html b/hbase-spark/checkstyle.html
index 693c1fb..445ed13 100644
--- a/hbase-spark/checkstyle.html
+++ b/hbase-spark/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependencies.html b/hbase-spark/dependencies.html
index ada6a92..a1e562f 100644
--- a/hbase-spark/dependencies.html
+++ b/hbase-spark/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-convergence.html b/hbase-spark/dependency-convergence.html
index c69a11f..7d832d5 100644
--- a/hbase-spark/dependency-convergence.html
+++ b/hbase-spark/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-info.html b/hbase-spark/dependency-info.html
index 8e30d23..5b3b66e 100644
--- a/hbase-spark/dependency-info.html
+++ b/hbase-spark/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-management.html b/hbase-spark/dependency-management.html
index 0aa7c9c..e530912 100644
--- a/hbase-spark/dependency-management.html
+++ b/hbase-spark/dependency-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-spark/index.html b/hbase-spark/index.html
index 19b0dcc..a7b38d8 100644
--- a/hbase-spark/index.html
+++ b/hbase-spark/index.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-spark/integration.html b/hbase-spark/integration.html
index 26b7c13..c1b0216 100644
--- a/hbase-spark/integration.html
+++ b/hbase-spark/integration.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-spark/issue-tracking.html b/hbase-spark/issue-tracking.html
index 21e8247..df4be1b 100644
--- a/hbase-spark/issue-tracking.html
+++ b/hbase-spark/issue-tracking.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-spark/license.html b/hbase-spark/license.html
index 338df95..628f4a2 100644
--- a/hbase-spark/license.html
+++ b/hbase-spark/license.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-spark/mail-lists.html b/hbase-spark/mail-lists.html
index dd7082c..6dea63e 100644
--- a/hbase-spark/mail-lists.html
+++ b/hbase-spark/mail-lists.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugin-management.html b/hbase-spark/plugin-management.html
index 803d255..ba6f3f0 100644
--- a/hbase-spark/plugin-management.html
+++ b/hbase-spark/plugin-management.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugins.html b/hbase-spark/plugins.html
index 78cbfcb..bc0dab0 100644
--- a/hbase-spark/plugins.html
+++ b/hbase-spark/plugins.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-info.html b/hbase-spark/project-info.html
index b7e8204..2389428 100644
--- a/hbase-spark/project-info.html
+++ b/hbase-spark/project-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-reports.html b/hbase-spark/project-reports.html
index 4c1b088..e8d9fc5 100644
--- a/hbase-spark/project-reports.html
+++ b/hbase-spark/project-reports.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-summary.html b/hbase-spark/project-summary.html
index 2cad0f7..aff4d14 100644
--- a/hbase-spark/project-summary.html
+++ b/hbase-spark/project-summary.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-spark/source-repository.html b/hbase-spark/source-repository.html
index c5ccc80..7a62378 100644
--- a/hbase-spark/source-repository.html
+++ b/hbase-spark/source-repository.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-spark/team-list.html b/hbase-spark/team-list.html
index a8c1888..c302490 100644
--- a/hbase-spark/team-list.html
+++ b/hbase-spark/team-list.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index ecbaf0a..4402806 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase\u2122 Home</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -446,7 +446,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 6d0e65c..ce6c8e7 100644
--- a/integration.html
+++ b/integration.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Continuous Integration</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -308,7 +308,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index d647219..4d1fdc6 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Tracking</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -305,7 +305,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index a324c11..619d4ad 100644
--- a/license.html
+++ b/license.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project License</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -508,7 +508,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index d8f0407..aab1826 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -358,7 +358,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 837b561..665850d 100644
--- a/metrics.html
+++ b/metrics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -476,7 +476,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index eebe97a..14ce8ec 100644
--- a/old_news.html
+++ b/old_news.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -431,7 +431,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index d443141..1f135b3 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Plugin Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -453,7 +453,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index b900fa7..b626c59 100644
--- a/plugins.html
+++ b/plugins.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Build Plugins</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -388,7 +388,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 77abcaf..a5feef6 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Powered By Apache HBase�</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -786,7 +786,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 78f0a49..d759071 100644
--- a/project-info.html
+++ b/project-info.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Information</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -352,7 +352,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index e27a9ed..045fdf0 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Generated Reports</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -322,7 +322,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index 10655da..5049ae8 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Summary</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -348,7 +348,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 03c2a45..828c3e0 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -325,7 +325,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 


[24/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.


Project: http://git-wip-us.apache.org/repos/asf/hbase-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase-site/commit/f5caf0f9
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/f5caf0f9
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/f5caf0f9

Branch: refs/heads/asf-site
Commit: f5caf0f9841327748e7c7ae09f9ddd2b11796fd5
Parents: 5f3d7e9
Author: jenkins <bu...@apache.org>
Authored: Wed Apr 5 01:50:03 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Wed Apr 5 01:50:03 2017 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |    4 +-
 apache_hbase_reference_guide.pdf                |    4 +-
 apache_hbase_reference_guide.pdfmarks           |    4 +-
 apidocs/constant-values.html                    |   14 +
 apidocs/index-all.html                          |    4 +
 .../hadoop/hbase/mapreduce/WALInputFormat.html  |   12 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |   48 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.html  |  593 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |  612 +-
 bulk-loads.html                                 |    4 +-
 checkstyle-aggregate.html                       | 7482 +++++++++---------
 checkstyle.rss                                  |    8 +-
 coc.html                                        |    4 +-
 cygwin.html                                     |    4 +-
 dependencies.html                               |    4 +-
 dependency-convergence.html                     |    4 +-
 dependency-info.html                            |    4 +-
 dependency-management.html                      |    4 +-
 devapidocs/constant-values.html                 |   20 +-
 devapidocs/index-all.html                       |   84 +-
 .../hadoop/hbase/backup/package-tree.html       |    2 +-
 .../hadoop/hbase/class-use/TableName.html       |   72 +-
 .../hbase/classification/package-tree.html      |    4 +-
 .../hbase/client/class-use/Connection.html      |   30 +-
 .../hadoop/hbase/client/package-tree.html       |   28 +-
 .../hadoop/hbase/filter/package-tree.html       |    8 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |    4 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |    4 +-
 .../WALInputFormat.WALKeyRecordReader.html      |    6 +-
 .../WALInputFormat.WALRecordReader.html         |  140 +-
 .../mapreduce/WALInputFormat.WALSplit.html      |   30 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.html  |   20 +-
 .../mapreduce/WALPlayer.WALKeyValueMapper.html  |   10 +-
 .../hbase/mapreduce/WALPlayer.WALMapper.html    |   14 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |   52 +-
 .../class-use/LoadIncrementalHFiles.html        |   26 -
 .../hadoop/hbase/mapreduce/package-tree.html    |    2 +-
 .../hadoop/hbase/mapreduce/package-use.html     |   27 +-
 .../hadoop/hbase/master/package-tree.html       |    4 +-
 .../hbase/master/procedure/package-tree.html    |    2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |   12 +-
 .../hadoop/hbase/procedure2/package-tree.html   |    2 +-
 .../hadoop/hbase/quotas/package-tree.html       |    4 +-
 .../regionserver/ScannerContext.LimitScope.html |    4 +-
 .../regionserver/ScannerContext.NextState.html  |    4 +-
 .../hadoop/hbase/regionserver/package-tree.html |   20 +-
 .../regionserver/querymatcher/package-tree.html |    4 +-
 .../hbase/regionserver/wal/package-tree.html    |    2 +-
 .../hbase/security/access/package-tree.html     |    2 +-
 .../hadoop/hbase/security/package-tree.html     |    4 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |  240 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   96 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |   48 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |  120 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |   48 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |   24 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    6 +-
 .../hbase/wal/AbstractFSWALProvider.Reader.html |    4 +-
 .../hadoop/hbase/wal/AbstractFSWALProvider.html |  185 +-
 .../hadoop/hbase/wal/AsyncFSWALProvider.html    |    2 +-
 .../apache/hadoop/hbase/wal/FSHLogProvider.html |    2 +-
 .../hadoop/hbase/wal/class-use/WAL.Reader.html  |    8 +
 .../apache/hadoop/hbase/wal/package-tree.html   |    2 +-
 .../org/apache/hadoop/hbase/Version.html        |    6 +-
 .../WALInputFormat.WALKeyRecordReader.html      |  593 +-
 .../WALInputFormat.WALRecordReader.html         |  593 +-
 .../mapreduce/WALInputFormat.WALSplit.html      |  593 +-
 .../hadoop/hbase/mapreduce/WALInputFormat.html  |  593 +-
 .../mapreduce/WALPlayer.WALKeyValueMapper.html  |  612 +-
 .../hbase/mapreduce/WALPlayer.WALMapper.html    |  612 +-
 .../hadoop/hbase/mapreduce/WALPlayer.html       |  612 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |  240 +-
 .../tmpl/master/MasterStatusTmpl.Intf.html      |  240 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |  240 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |   68 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |  120 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |  120 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |  120 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |   36 +-
 .../hbase/wal/AbstractFSWALProvider.Reader.html |  809 +-
 .../hadoop/hbase/wal/AbstractFSWALProvider.html |  809 +-
 export_control.html                             |    4 +-
 hbase-annotations/checkstyle.html               |    6 +-
 hbase-annotations/dependencies.html             |    6 +-
 hbase-annotations/dependency-convergence.html   |    6 +-
 hbase-annotations/dependency-info.html          |    6 +-
 hbase-annotations/dependency-management.html    |    6 +-
 hbase-annotations/index.html                    |    6 +-
 hbase-annotations/integration.html              |    6 +-
 hbase-annotations/issue-tracking.html           |    6 +-
 hbase-annotations/license.html                  |    6 +-
 hbase-annotations/mail-lists.html               |    6 +-
 hbase-annotations/plugin-management.html        |    6 +-
 hbase-annotations/plugins.html                  |    6 +-
 hbase-annotations/project-info.html             |    6 +-
 hbase-annotations/project-reports.html          |    6 +-
 hbase-annotations/project-summary.html          |    6 +-
 hbase-annotations/source-repository.html        |    6 +-
 hbase-annotations/team-list.html                |    6 +-
 hbase-archetypes/dependencies.html              |    6 +-
 hbase-archetypes/dependency-convergence.html    |    6 +-
 hbase-archetypes/dependency-info.html           |    6 +-
 hbase-archetypes/dependency-management.html     |    6 +-
 .../hbase-archetype-builder/dependencies.html   |    6 +-
 .../dependency-convergence.html                 |    6 +-
 .../dependency-info.html                        |    6 +-
 .../dependency-management.html                  |    6 +-
 .../hbase-archetype-builder/index.html          |    6 +-
 .../hbase-archetype-builder/integration.html    |    6 +-
 .../hbase-archetype-builder/issue-tracking.html |    6 +-
 .../hbase-archetype-builder/license.html        |    6 +-
 .../hbase-archetype-builder/mail-lists.html     |    6 +-
 .../plugin-management.html                      |    6 +-
 .../hbase-archetype-builder/plugins.html        |    6 +-
 .../hbase-archetype-builder/project-info.html   |    6 +-
 .../project-summary.html                        |    6 +-
 .../source-repository.html                      |    6 +-
 .../hbase-archetype-builder/team-list.html      |    6 +-
 .../hbase-client-project/checkstyle.html        |    6 +-
 .../hbase-client-project/dependencies.html      |    6 +-
 .../dependency-convergence.html                 |    6 +-
 .../hbase-client-project/dependency-info.html   |    6 +-
 .../dependency-management.html                  |    6 +-
 .../hbase-client-project/index.html             |    6 +-
 .../hbase-client-project/integration.html       |    6 +-
 .../hbase-client-project/issue-tracking.html    |    6 +-
 .../hbase-client-project/license.html           |    6 +-
 .../hbase-client-project/mail-lists.html        |    6 +-
 .../hbase-client-project/plugin-management.html |    6 +-
 .../hbase-client-project/plugins.html           |    6 +-
 .../hbase-client-project/project-info.html      |    6 +-
 .../hbase-client-project/project-reports.html   |    6 +-
 .../hbase-client-project/project-summary.html   |    6 +-
 .../hbase-client-project/source-repository.html |    6 +-
 .../hbase-client-project/team-list.html         |    6 +-
 .../hbase-shaded-client-project/checkstyle.html |    6 +-
 .../dependencies.html                           |    6 +-
 .../dependency-convergence.html                 |    6 +-
 .../dependency-info.html                        |    6 +-
 .../dependency-management.html                  |    6 +-
 .../hbase-shaded-client-project/index.html      |    6 +-
 .../integration.html                            |    6 +-
 .../issue-tracking.html                         |    6 +-
 .../hbase-shaded-client-project/license.html    |    6 +-
 .../hbase-shaded-client-project/mail-lists.html |    6 +-
 .../plugin-management.html                      |    6 +-
 .../hbase-shaded-client-project/plugins.html    |    6 +-
 .../project-info.html                           |    6 +-
 .../project-reports.html                        |    6 +-
 .../project-summary.html                        |    6 +-
 .../source-repository.html                      |    6 +-
 .../hbase-shaded-client-project/team-list.html  |    6 +-
 hbase-archetypes/index.html                     |    6 +-
 hbase-archetypes/integration.html               |    6 +-
 hbase-archetypes/issue-tracking.html            |    6 +-
 hbase-archetypes/license.html                   |    6 +-
 hbase-archetypes/mail-lists.html                |    6 +-
 hbase-archetypes/plugin-management.html         |    6 +-
 hbase-archetypes/plugins.html                   |    6 +-
 hbase-archetypes/project-info.html              |    6 +-
 hbase-archetypes/project-summary.html           |    6 +-
 hbase-archetypes/source-repository.html         |    6 +-
 hbase-archetypes/team-list.html                 |    6 +-
 hbase-spark/checkstyle.html                     |    6 +-
 hbase-spark/dependencies.html                   |    6 +-
 hbase-spark/dependency-convergence.html         |    6 +-
 hbase-spark/dependency-info.html                |    6 +-
 hbase-spark/dependency-management.html          |    6 +-
 hbase-spark/index.html                          |    6 +-
 hbase-spark/integration.html                    |    6 +-
 hbase-spark/issue-tracking.html                 |    6 +-
 hbase-spark/license.html                        |    6 +-
 hbase-spark/mail-lists.html                     |    6 +-
 hbase-spark/plugin-management.html              |    6 +-
 hbase-spark/plugins.html                        |    6 +-
 hbase-spark/project-info.html                   |    6 +-
 hbase-spark/project-reports.html                |    6 +-
 hbase-spark/project-summary.html                |    6 +-
 hbase-spark/source-repository.html              |    6 +-
 hbase-spark/team-list.html                      |    6 +-
 index.html                                      |    4 +-
 integration.html                                |    4 +-
 issue-tracking.html                             |    4 +-
 license.html                                    |    4 +-
 mail-lists.html                                 |    4 +-
 metrics.html                                    |    4 +-
 old_news.html                                   |    4 +-
 plugin-management.html                          |    4 +-
 plugins.html                                    |    4 +-
 poweredbyhbase.html                             |    4 +-
 project-info.html                               |    4 +-
 project-reports.html                            |    4 +-
 project-summary.html                            |    4 +-
 pseudo-distributed.html                         |    4 +-
 replication.html                                |    4 +-
 resources.html                                  |    4 +-
 source-repository.html                          |    4 +-
 sponsors.html                                   |    4 +-
 supportingprojects.html                         |    4 +-
 team-list.html                                  |    4 +-
 ...ionTestBigLinkedList.Search.WALSearcher.html |    2 +-
 ...ntegrationTestLoadAndVerify.WALSearcher.html |    2 +-
 202 files changed, 9350 insertions(+), 8587 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 2128be3..c0945b5 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -618,7 +618,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 280e466..a859d2d 100644
--- a/apache_hbase_reference_guide.pdf
+++ b/apache_hbase_reference_guide.pdf
@@ -5,8 +5,8 @@
 /Author (Apache HBase Team)
 /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
 /Producer (Apache HBase Team)
-/CreationDate (D:20170404144618+00'00')
-/ModDate (D:20170404144618+00'00')
+/CreationDate (D:20170405013726+00'00')
+/ModDate (D:20170405013726+00'00')
 >>
 endobj
 2 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 7f482fd..9140a56 100644
--- a/apache_hbase_reference_guide.pdfmarks
+++ b/apache_hbase_reference_guide.pdfmarks
@@ -2,8 +2,8 @@
   /Author (Apache HBase Team)
   /Subject ()
   /Keywords ()
-  /ModDate (D:20170404144743)
-  /CreationDate (D:20170404144743)
+  /ModDate (D:20170405013851)
+  /CreationDate (D:20170405013851)
   /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
   /Producer ()
   /DOCINFO pdfmark

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/apidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/apidocs/constant-values.html b/apidocs/constant-values.html
index 12abad4..d9dd77f 100644
--- a/apidocs/constant-values.html
+++ b/apidocs/constant-values.html
@@ -4173,6 +4173,20 @@
 <td class="colLast"><code>"wal.bulk.output"</code></td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.WALPlayer.IGNORE_MISSING_FILES">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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><code><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#IGNORE_MISSING_FILES">IGNORE_MISSING_FILES</a></code></td>
+<td class="colLast"><code>"wal.input.ignore.missing.files"</code></td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.WALPlayer.INPUT_FILES_SEPARATOR_KEY">
+<!--   -->
+</a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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><code><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#INPUT_FILES_SEPARATOR_KEY">INPUT_FILES_SEPARATOR_KEY</a></code></td>
+<td class="colLast"><code>"wal.input.separator"</code></td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.mapreduce.WALPlayer.TABLE_MAP_KEY">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index c234ba8..4b32b55 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -7851,6 +7851,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/types/StructIterator.html#idx">idx</a></span> - Variable in class org.apache.hadoop.hbase.types.<a href="org/apache/hadoop/hbase/types/StructIterator.html" title="class in org.apache.hadoop.hbase.types">StructIterator</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#IGNORE_MISSING_FILES">IGNORE_MISSING_FILES</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html" title="class in org.apache.hadoop.hbase.mapreduce">WALPlayer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html#IGNORE_UNMATCHED_CF_CONF_KEY">IGNORE_UNMATCHED_CF_CONF_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.html" title="class in org.apache.hadoop.hbase.mapreduce">LoadIncrementalHFiles</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/io/ImmutableBytesWritable.html" title="class in org.apache.hadoop.hbase.io"><span class="typeNameLink">ImmutableBytesWritable</span></a> - Class in <a href="org/apache/hadoop/hbase/io/package-summary.html">org.apache.hadoop.hbase.io</a></dt>
@@ -8210,6 +8212,8 @@
 <div class="block">Specify if ratio for data skew in M/R jobs, it goes well with the enabling hbase.mapreduce
  .input.autobalance property.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html#INPUT_FILES_SEPARATOR_KEY">INPUT_FILES_SEPARATOR_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/WALPlayer.html" title="class in org.apache.hadoop.hbase.mapreduce">WALPlayer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/mapreduce/TableInputFormat.html#INPUT_TABLE">INPUT_TABLE</a></span> - Static variable in class org.apache.hadoop.hbase.mapreduce.<a href="org/apache/hadoop/hbase/mapreduce/TableInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce">TableInputFormat</a></dt>
 <dd>
 <div class="block">Job parameter that specifies the input table.</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html b/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
index 4863452..190bd5a 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre>@InterfaceAudience.Public
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.55">WALInputFormat</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.57">WALInputFormat</a>
 extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.WALKey,org.apache.hadoop.hbase.regionserver.wal.WALEdit&gt;</pre>
 <div class="block">Simple <code>InputFormat</code> for <code>WAL</code> files.</div>
 </li>
@@ -213,7 +213,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockList">
 <li class="blockList">
 <h4>START_TIME_KEY</h4>
-<pre>public static final&nbsp;<a href="http://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/mapreduce/WALInputFormat.html#line.58">START_TIME_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://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/mapreduce/WALInputFormat.html#line.60">START_TIME_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALInputFormat.START_TIME_KEY">Constant Field Values</a></dd>
@@ -226,7 +226,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockListLast">
 <li class="blockList">
 <h4>END_TIME_KEY</h4>
-<pre>public static final&nbsp;<a href="http://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/mapreduce/WALInputFormat.html#line.59">END_TIME_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://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/mapreduce/WALInputFormat.html#line.61">END_TIME_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALInputFormat.END_TIME_KEY">Constant Field Values</a></dd>
@@ -247,7 +247,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALInputFormat</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.55">WALInputFormat</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.57">WALInputFormat</a>()</pre>
 </li>
 </ul>
 </li>
@@ -264,7 +264,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockList">
 <li class="blockList">
 <h4>getSplits</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.227">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.mapreduce.InputSplit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.262">getSplits</a>(org.apache.hadoop.mapreduce.JobContext&nbsp;context)
                                                        throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl>
@@ -282,7 +282,7 @@ extends org.apache.hadoop.mapreduce.InputFormat&lt;org.apache.hadoop.hbase.wal.W
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createRecordReader</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordReader&lt;org.apache.hadoop.hbase.wal.WALKey,org.apache.hadoop.hbase.regionserver.wal.WALEdit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.295">createRecordReader</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
+<pre>public&nbsp;org.apache.hadoop.mapreduce.RecordReader&lt;org.apache.hadoop.hbase.wal.WALKey,org.apache.hadoop.hbase.regionserver.wal.WALEdit&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALInputFormat.html#line.340">createRecordReader</a>(org.apache.hadoop.mapreduce.InputSplit&nbsp;split,
                                                                                                                                                         org.apache.hadoop.mapreduce.TaskAttemptContext&nbsp;context)
                                                                                                                                                  throws <a href="http://docs.oracle.com/javase/8/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/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html b/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
index a49f9b4..79306d9 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/WALPlayer.html
@@ -125,7 +125,7 @@ extends org.apache.hadoop.conf.Configured
 implements org.apache.hadoop.util.Tool</pre>
 <div class="block">A tool to replay WAL files as a M/R job.
  The WAL can be replayed for a set of tables or all tables,
- and a timerange can be provided (in milliseconds).
+ and a time range can be provided (in milliseconds).
  The WAL is filtered to the passed set of tables and  the output
  can optionally be mapped to another set of tables.
 
@@ -155,6 +155,14 @@ implements org.apache.hadoop.util.Tool</pre>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static <a href="http://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/mapreduce/WALPlayer.html#IGNORE_MISSING_FILES">IGNORE_MISSING_FILES</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://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/mapreduce/WALPlayer.html#INPUT_FILES_SEPARATOR_KEY">INPUT_FILES_SEPARATOR_KEY</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="http://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/mapreduce/WALPlayer.html#TABLE_MAP_KEY">TABLE_MAP_KEY</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -280,7 +288,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <a name="TABLE_MAP_KEY">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>TABLE_MAP_KEY</h4>
 <pre>public static final&nbsp;<a href="http://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/mapreduce/WALPlayer.html#line.75">TABLE_MAP_KEY</a></pre>
@@ -290,6 +298,32 @@ implements org.apache.hadoop.util.Tool</pre>
 </dl>
 </li>
 </ul>
+<a name="INPUT_FILES_SEPARATOR_KEY">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>INPUT_FILES_SEPARATOR_KEY</h4>
+<pre>public static final&nbsp;<a href="http://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/mapreduce/WALPlayer.html#line.76">INPUT_FILES_SEPARATOR_KEY</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALPlayer.INPUT_FILES_SEPARATOR_KEY">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="IGNORE_MISSING_FILES">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>IGNORE_MISSING_FILES</h4>
+<pre>public static final&nbsp;<a href="http://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/mapreduce/WALPlayer.html#line.77">IGNORE_MISSING_FILES</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.mapreduce.WALPlayer.IGNORE_MISSING_FILES">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
 </li>
 </ul>
 <!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -304,7 +338,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>WALPlayer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.87">WALPlayer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.90">WALPlayer</a>()</pre>
 </li>
 </ul>
 <a name="WALPlayer-org.apache.hadoop.conf.Configuration-">
@@ -313,7 +347,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>WALPlayer</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.90">WALPlayer</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.93">WALPlayer</a>(org.apache.hadoop.conf.Configuration&nbsp;c)</pre>
 </li>
 </ul>
 </li>
@@ -330,7 +364,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createSubmittableJob</h4>
-<pre>public&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.265">createSubmittableJob</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;org.apache.hadoop.mapreduce.Job&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.270">createSubmittableJob</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Sets up the actual job.</div>
 <dl>
@@ -349,7 +383,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>main</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.368">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.372">main</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
                  throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Main entry point.</div>
 <dl>
@@ -366,7 +400,7 @@ implements org.apache.hadoop.util.Tool</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.374">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.html#line.378">run</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;args)
         throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>


[04/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html b/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
index e1a18ec..fcefc60 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.html
@@ -25,374 +25,475 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.wal;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.ArrayList;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.Collections;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.List;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.regex.Pattern;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.commons.logging.Log;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.LogFactory;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.fs.FSDataInputStream;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FileSystem;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.Path;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.HConstants;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.ServerName;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import com.google.common.annotations.VisibleForTesting;<a name="line.40"></a>
-<span class="sourceLineNo">041</span><a name="line.41"></a>
-<span class="sourceLineNo">042</span>/**<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Base class of a WAL Provider that returns a single thread safe WAL that writes to Hadoop FS. By<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * default, this implementation picks a directory in Hadoop FS based on a combination of<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * &lt;ul&gt;<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * &lt;li&gt;the HBase root directory<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;li&gt;HConstants.HREGION_LOGDIR_NAME<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * &lt;li&gt;the given factory's factoryId (usually identifying the regionserver by host:port)<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;/ul&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * It also uses the providerId to differentiate among files.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>@InterfaceAudience.Private<a name="line.52"></a>
-<span class="sourceLineNo">053</span>@InterfaceStability.Evolving<a name="line.53"></a>
-<span class="sourceLineNo">054</span>public abstract class AbstractFSWALProvider&lt;T extends AbstractFSWAL&lt;?&gt;&gt; implements WALProvider {<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private static final Log LOG = LogFactory.getLog(AbstractFSWALProvider.class);<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  // Only public so classes back in regionserver.wal can access<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public interface Reader extends WAL.Reader {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    /**<a name="line.60"></a>
-<span class="sourceLineNo">061</span>     * @param fs File system.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>     * @param path Path.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>     * @param c Configuration.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>     * @param s Input stream that may have been pre-opened by the caller; may be null.<a name="line.64"></a>
-<span class="sourceLineNo">065</span>     */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    void init(FileSystem fs, Path path, Configuration c, FSDataInputStream s) throws IOException;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  protected volatile T wal;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  protected WALFactory factory = null;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  protected Configuration conf = null;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  protected List&lt;WALActionsListener&gt; listeners = null;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  protected String providerId = null;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  protected AtomicBoolean initialized = new AtomicBoolean(false);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  // for default wal provider, logPrefix won't change<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  protected String logPrefix = null;<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>  /**<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * we synchronized on walCreateLock to prevent wal recreation in different threads<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final Object walCreateLock = new Object();<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @param factory factory that made us, identity used for FS layout. may not be null<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * @param conf may not be null<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @param listeners may be null<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @param providerId differentiate between providers from one factory, used for FS layout. may be<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   *          null<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public void init(WALFactory factory, Configuration conf, List&lt;WALActionsListener&gt; listeners,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      String providerId) throws IOException {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    if (!initialized.compareAndSet(false, true)) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      throw new IllegalStateException("WALProvider.init should only be called once.");<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    this.factory = factory;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    this.conf = conf;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    this.listeners = listeners;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    this.providerId = providerId;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    // get log prefix<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    StringBuilder sb = new StringBuilder().append(factory.factoryId);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    if (providerId != null) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      if (providerId.startsWith(WAL_FILE_NAME_DELIMITER)) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        sb.append(providerId);<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      } else {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        sb.append(WAL_FILE_NAME_DELIMITER).append(providerId);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    }<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    logPrefix = sb.toString();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    doInit(conf);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public List&lt;WAL&gt; getWALs() throws IOException {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    if (wal == null) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      return Collections.emptyList();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    List&lt;WAL&gt; wals = new ArrayList&lt;&gt;(1);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    wals.add(wal);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    return wals;<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>  @Override<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public T getWAL(byte[] identifier, byte[] namespace) throws IOException {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    T walCopy = wal;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    if (walCopy == null) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      // only lock when need to create wal, and need to lock since<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      // creating hlog on fs is time consuming<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      synchronized (walCreateLock) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>        walCopy = wal;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        if (walCopy == null) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          walCopy = createWAL();<a name="line.132"></a>
-<span class="sourceLineNo">133</span>          wal = walCopy;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        }<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>    return walCopy;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  protected abstract T createWAL() throws IOException;<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  protected abstract void doInit(Configuration conf) throws IOException;<a name="line.142"></a>
+<span class="sourceLineNo">020</span>import java.io.FileNotFoundException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.ArrayList;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Collections;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.List;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.regex.Pattern;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FSDataInputStream;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileSystem;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.Path;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HConstants;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.LeaseNotRecoveredException;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>import com.google.common.annotations.VisibleForTesting;<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>/**<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * Base class of a WAL Provider that returns a single thread safe WAL that writes to Hadoop FS. By<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * default, this implementation picks a directory in Hadoop FS based on a combination of<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * &lt;ul&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;li&gt;the HBase root directory<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * &lt;li&gt;HConstants.HREGION_LOGDIR_NAME<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * &lt;li&gt;the given factory's factoryId (usually identifying the regionserver by host:port)<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;/ul&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * It also uses the providerId to differentiate among files.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Private<a name="line.56"></a>
+<span class="sourceLineNo">057</span>@InterfaceStability.Evolving<a name="line.57"></a>
+<span class="sourceLineNo">058</span>public abstract class AbstractFSWALProvider&lt;T extends AbstractFSWAL&lt;?&gt;&gt; implements WALProvider {<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  private static final Log LOG = LogFactory.getLog(AbstractFSWALProvider.class);<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  // Only public so classes back in regionserver.wal can access<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public interface Reader extends WAL.Reader {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    /**<a name="line.64"></a>
+<span class="sourceLineNo">065</span>     * @param fs File system.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>     * @param path Path.<a name="line.66"></a>
+<span class="sourceLineNo">067</span>     * @param c Configuration.<a name="line.67"></a>
+<span class="sourceLineNo">068</span>     * @param s Input stream that may have been pre-opened by the caller; may be null.<a name="line.68"></a>
+<span class="sourceLineNo">069</span>     */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    void init(FileSystem fs, Path path, Configuration c, FSDataInputStream s) throws IOException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  protected volatile T wal;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  protected WALFactory factory = null;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  protected Configuration conf = null;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  protected List&lt;WALActionsListener&gt; listeners = null;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  protected String providerId = null;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  protected AtomicBoolean initialized = new AtomicBoolean(false);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  // for default wal provider, logPrefix won't change<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  protected String logPrefix = null;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * we synchronized on walCreateLock to prevent wal recreation in different threads<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Object walCreateLock = new Object();<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  /**<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param factory factory that made us, identity used for FS layout. may not be null<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param conf may not be null<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @param listeners may be null<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @param providerId differentiate between providers from one factory, used for FS layout. may be<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   *          null<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  @Override<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  public void init(WALFactory factory, Configuration conf, List&lt;WALActionsListener&gt; listeners,<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      String providerId) throws IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    if (!initialized.compareAndSet(false, true)) {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      throw new IllegalStateException("WALProvider.init should only be called once.");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this.factory = factory;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this.conf = conf;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    this.listeners = listeners;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    this.providerId = providerId;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    // get log prefix<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    StringBuilder sb = new StringBuilder().append(factory.factoryId);<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    if (providerId != null) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      if (providerId.startsWith(WAL_FILE_NAME_DELIMITER)) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        sb.append(providerId);<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      } else {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        sb.append(WAL_FILE_NAME_DELIMITER).append(providerId);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      }<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    logPrefix = sb.toString();<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    doInit(conf);<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  @Override<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public List&lt;WAL&gt; getWALs() throws IOException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    if (wal == null) {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      return Collections.emptyList();<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    List&lt;WAL&gt; wals = new ArrayList&lt;&gt;(1);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    wals.add(wal);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return wals;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  @Override<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  public T getWAL(byte[] identifier, byte[] namespace) throws IOException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    T walCopy = wal;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    if (walCopy == null) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      // only lock when need to create wal, and need to lock since<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      // creating hlog on fs is time consuming<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      synchronized (walCreateLock) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        walCopy = wal;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        if (walCopy == null) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          walCopy = createWAL();<a name="line.136"></a>
+<span class="sourceLineNo">137</span>          wal = walCopy;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return walCopy;<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>  @Override<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public void shutdown() throws IOException {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    T log = this.wal;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    if (log != null) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      log.shutdown();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>  @Override<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  public void close() throws IOException {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    T log = this.wal;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    if (log != null) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      log.close();<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><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * number of files (rolled and active). if either of them aren't, count 0 for that provider.<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public long getNumLogFiles() {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    T log = this.wal;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    return log == null ? 0 : log.getNumLogFiles();<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>  /**<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * size of files (only rolled). if either of them aren't, count 0 for that provider.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public long getLogFileSize() {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    T log = this.wal;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return log == null ? 0 : log.getLogFileSize();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * returns the number of rolled WAL files.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  @VisibleForTesting<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public static int getNumRolledLogFiles(WAL wal) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getNumRolledLogFiles();<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  /**<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   * returns the size of rolled WAL files.<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  @VisibleForTesting<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  public static long getLogFileSize(WAL wal) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getLogFileSize();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>  /**<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * return the current filename from the current wal.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  @VisibleForTesting<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  public static Path getCurrentFileName(final WAL wal) {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getCurrentFileName();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /**<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * request a log roll, but don't actually do it.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  @VisibleForTesting<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  static void requestLogRoll(final WAL wal) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    ((AbstractFSWAL&lt;?&gt;) wal).requestLogRoll();<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  }<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  // should be package private; more visible for use in AbstractFSWAL<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static final String WAL_FILE_NAME_DELIMITER = ".";<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  /** The hbase:meta region's WAL filename extension */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @VisibleForTesting<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public static final String META_WAL_PROVIDER_ID = ".meta";<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  static final String DEFAULT_PROVIDER_ID = "default";<a name="line.217"></a>
-<span class="sourceLineNo">218</span><a name="line.218"></a>
-<span class="sourceLineNo">219</span>  // Implementation details that currently leak in tests or elsewhere follow<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  /** File Extension used while splitting an WAL into regions (HBASE-2312) */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  public static final String SPLITTING_EXT = "-splitting";<a name="line.221"></a>
+<span class="sourceLineNo">144</span>  protected abstract T createWAL() throws IOException;<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  protected abstract void doInit(Configuration conf) throws IOException;<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>  @Override<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  public void shutdown() throws IOException {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    T log = this.wal;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (log != null) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      log.shutdown();<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  @Override<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  public void close() throws IOException {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    T log = this.wal;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    if (log != null) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      log.close();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  /**<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * number of files (rolled and active). if either of them aren't, count 0 for that provider.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  @Override<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  public long getNumLogFiles() {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    T log = this.wal;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    return log == null ? 0 : log.getNumLogFiles();<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
+<span class="sourceLineNo">173</span><a name="line.173"></a>
+<span class="sourceLineNo">174</span>  /**<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * size of files (only rolled). if either of them aren't, count 0 for that provider.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public long getLogFileSize() {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    T log = this.wal;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return log == null ? 0 : log.getLogFileSize();<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>   * returns the number of rolled WAL files.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  @VisibleForTesting<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  public static int getNumRolledLogFiles(WAL wal) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getNumRolledLogFiles();<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<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>   * returns the size of rolled WAL files.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  @VisibleForTesting<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public static long getLogFileSize(WAL wal) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getLogFileSize();<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>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * return the current filename from the current wal.<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  @VisibleForTesting<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  public static Path getCurrentFileName(final WAL wal) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getCurrentFileName();<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>  /**<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * request a log roll, but don't actually do it.<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  @VisibleForTesting<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  static void requestLogRoll(final WAL wal) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    ((AbstractFSWAL&lt;?&gt;) wal).requestLogRoll();<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  // should be package private; more visible for use in AbstractFSWAL<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  public static final String WAL_FILE_NAME_DELIMITER = ".";<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  /** The hbase:meta region's WAL filename extension */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  @VisibleForTesting<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  public static final String META_WAL_PROVIDER_ID = ".meta";<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  static final String DEFAULT_PROVIDER_ID = "default";<a name="line.221"></a>
 <span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  /**<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * It returns the file create timestamp from the file name. For name format see<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * {@link #validateWALFilename(String)} public until remaining tests move to o.a.h.h.wal<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * @param wal must not be null<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * @return the file number that is part of the WAL file name<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @VisibleForTesting<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public static long extractFileNumFromWAL(final WAL wal) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    final Path walName = ((AbstractFSWAL&lt;?&gt;) wal).getCurrentFileName();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (walName == null) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      throw new IllegalArgumentException("The WAL path couldn't be null");<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    final String[] walPathStrs = walName.toString().split("\\" + WAL_FILE_NAME_DELIMITER);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return Long.parseLong(walPathStrs[walPathStrs.length - (isMetaFile(walName) ? 2 : 1)]);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Pattern used to validate a WAL file name see {@link #validateWALFilename(String)} for<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * description.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private static final Pattern pattern = Pattern<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      .compile(".*\\.\\d*(" + META_WAL_PROVIDER_ID + ")*");<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * A WAL file name is of the format: &amp;lt;wal-name&amp;gt;{@link #WAL_FILE_NAME_DELIMITER}<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * &amp;lt;file-creation-timestamp&amp;gt;[.meta]. provider-name is usually made up of a server-name and a<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * provider-id<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param filename name of the file to validate<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @return &lt;tt&gt;true&lt;/tt&gt; if the filename matches an WAL, &lt;tt&gt;false&lt;/tt&gt; otherwise<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  public static boolean validateWALFilename(String filename) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    return pattern.matcher(filename).matches();<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>  /**<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * Construct the directory name for all WALs on a given server. Dir names currently look like<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * this for WALs: &lt;code&gt;hbase//WALs/kalashnikov.att.net,61634,1486865297088&lt;/code&gt;.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * @param serverName Server name formatted as described in {@link ServerName}<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @return the relative WAL directory name, e.g. &lt;code&gt;.logs/1.example.org,60030,12345&lt;/code&gt; if<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   *         &lt;code&gt;serverName&lt;/code&gt; passed is &lt;code&gt;1.example.org,60030,12345&lt;/code&gt;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   */<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  public static String getWALDirectoryName(final String serverName) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    StringBuilder dirName = new StringBuilder(HConstants.HREGION_LOGDIR_NAME);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    dirName.append("/");<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    dirName.append(serverName);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return dirName.toString();<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>  /**<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Pulls a ServerName out of a Path generated according to our layout rules. In the below layouts,<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * this method ignores the format of the logfile component. Current format: [base directory for<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * hbase]/hbase/.logs/ServerName/logfile or [base directory for<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * hbase]/hbase/.logs/ServerName-splitting/logfile Expected to work for individual log files and<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * server-specific directories.<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * @return null if it's not a log file. Returns the ServerName of the region server that created<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   *         this log file otherwise.<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   */<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  public static ServerName getServerNameFromWALDirectoryName(Configuration conf, String path)<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      throws IOException {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    if (path == null || path.length() &lt;= HConstants.HREGION_LOGDIR_NAME.length()) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      return null;<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>    if (conf == null) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      throw new IllegalArgumentException("parameter conf must be set");<a name="line.287"></a>
+<span class="sourceLineNo">223</span>  // Implementation details that currently leak in tests or elsewhere follow<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  /** File Extension used while splitting an WAL into regions (HBASE-2312) */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public static final String SPLITTING_EXT = "-splitting";<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * It returns the file create timestamp from the file name. For name format see<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #validateWALFilename(String)} public until remaining tests move to o.a.h.h.wal<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * @param wal must not be null<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * @return the file number that is part of the WAL file name<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  @VisibleForTesting<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  public static long extractFileNumFromWAL(final WAL wal) {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    final Path walName = ((AbstractFSWAL&lt;?&gt;) wal).getCurrentFileName();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    if (walName == null) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      throw new IllegalArgumentException("The WAL path couldn't be null");<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    final String[] walPathStrs = walName.toString().split("\\" + WAL_FILE_NAME_DELIMITER);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    return Long.parseLong(walPathStrs[walPathStrs.length - (isMetaFile(walName) ? 2 : 1)]);<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  /**<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * Pattern used to validate a WAL file name see {@link #validateWALFilename(String)} for<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * description.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private static final Pattern pattern = Pattern<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      .compile(".*\\.\\d*(" + META_WAL_PROVIDER_ID + ")*");<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * A WAL file name is of the format: &amp;lt;wal-name&amp;gt;{@link #WAL_FILE_NAME_DELIMITER}<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * &amp;lt;file-creation-timestamp&amp;gt;[.meta]. provider-name is usually made up of a server-name and a<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * provider-id<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param filename name of the file to validate<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @return &lt;tt&gt;true&lt;/tt&gt; if the filename matches an WAL, &lt;tt&gt;false&lt;/tt&gt; otherwise<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  public static boolean validateWALFilename(String filename) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    return pattern.matcher(filename).matches();<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  /**<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   * Construct the directory name for all WALs on a given server. Dir names currently look like<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * this for WALs: &lt;code&gt;hbase//WALs/kalashnikov.att.net,61634,1486865297088&lt;/code&gt;.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * @param serverName Server name formatted as described in {@link ServerName}<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   * @return the relative WAL directory name, e.g. &lt;code&gt;.logs/1.example.org,60030,12345&lt;/code&gt; if<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   *         &lt;code&gt;serverName&lt;/code&gt; passed is &lt;code&gt;1.example.org,60030,12345&lt;/code&gt;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  public static String getWALDirectoryName(final String serverName) {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    StringBuilder dirName = new StringBuilder(HConstants.HREGION_LOGDIR_NAME);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    dirName.append("/");<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    dirName.append(serverName);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return dirName.toString();<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>  /**<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * Pulls a ServerName out of a Path generated according to our layout rules. In the below layouts,<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * this method ignores the format of the logfile component. Current format: [base directory for<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * hbase]/hbase/.logs/ServerName/logfile or [base directory for<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * hbase]/hbase/.logs/ServerName-splitting/logfile Expected to work for individual log files and<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * server-specific directories.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @return null if it's not a log file. Returns the ServerName of the region server that created<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   *         this log file otherwise.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  public static ServerName getServerNameFromWALDirectoryName(Configuration conf, String path)<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      throws IOException {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    if (path == null || path.length() &lt;= HConstants.HREGION_LOGDIR_NAME.length()) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      return null;<a name="line.287"></a>
 <span class="sourceLineNo">288</span>    }<a name="line.288"></a>
 <span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>    final String rootDir = conf.get(HConstants.HBASE_DIR);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    if (rootDir == null || rootDir.isEmpty()) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      throw new IllegalArgumentException(HConstants.HBASE_DIR + " key not found in conf.");<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    }<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>    final StringBuilder startPathSB = new StringBuilder(rootDir);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    if (!rootDir.endsWith("/")) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      startPathSB.append('/');<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    startPathSB.append(HConstants.HREGION_LOGDIR_NAME);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    if (!HConstants.HREGION_LOGDIR_NAME.endsWith("/")) {<a name="line.300"></a>
+<span class="sourceLineNo">290</span>    if (conf == null) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      throw new IllegalArgumentException("parameter conf must be set");<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>    final String rootDir = conf.get(HConstants.HBASE_DIR);<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    if (rootDir == null || rootDir.isEmpty()) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      throw new IllegalArgumentException(HConstants.HBASE_DIR + " key not found in conf.");<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>    final StringBuilder startPathSB = new StringBuilder(rootDir);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    if (!rootDir.endsWith("/")) {<a name="line.300"></a>
 <span class="sourceLineNo">301</span>      startPathSB.append('/');<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    final String startPath = startPathSB.toString();<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>    String fullPath;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    try {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      fullPath = FileSystem.get(conf).makeQualified(new Path(path)).toString();<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    } catch (IllegalArgumentException e) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      LOG.info("Call to makeQualified failed on " + path + " " + e.getMessage());<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      return null;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>    if (!fullPath.startsWith(startPath)) {<a name="line.313"></a>
+<span class="sourceLineNo">303</span>    startPathSB.append(HConstants.HREGION_LOGDIR_NAME);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    if (!HConstants.HREGION_LOGDIR_NAME.endsWith("/")) {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      startPathSB.append('/');<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    final String startPath = startPathSB.toString();<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>    String fullPath;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    try {<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      fullPath = FileSystem.get(conf).makeQualified(new Path(path)).toString();<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    } catch (IllegalArgumentException e) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      LOG.info("Call to makeQualified failed on " + path + " " + e.getMessage());<a name="line.313"></a>
 <span class="sourceLineNo">314</span>      return null;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>    }<a name="line.315"></a>
 <span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    final String serverNameAndFile = fullPath.substring(startPath.length());<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>    if (serverNameAndFile.indexOf('/') &lt; "a,0,0".length()) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      // Either it's a file (not a directory) or it's not a ServerName format<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      return null;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    }<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>    Path p = new Path(path);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    return getServerNameFromWALDirectoryName(p);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
+<span class="sourceLineNo">317</span>    if (!fullPath.startsWith(startPath)) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      return null;<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>    final String serverNameAndFile = fullPath.substring(startPath.length());<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>    if (serverNameAndFile.indexOf('/') &lt; "a,0,0".length()) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      // Either it's a file (not a directory) or it's not a ServerName format<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      return null;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
 <span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  /**<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * This function returns region server name from a log file name which is in one of the following<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * formats:<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * &lt;ul&gt;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * &lt;li&gt;hdfs://&amp;lt;name node&amp;gt;/hbase/.logs/&amp;lt;server name&amp;gt;-splitting/...&lt;/li&gt;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * &lt;li&gt;hdfs://&amp;lt;name node&amp;gt;/hbase/.logs/&amp;lt;server name&amp;gt;/...&lt;/li&gt;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * &lt;/ul&gt;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @return null if the passed in logFile isn't a valid WAL file path<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static ServerName getServerNameFromWALDirectoryName(Path logFile) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    String logDirName = logFile.getParent().getName();<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    // We were passed the directory and not a file in it.<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    if (logDirName.equals(HConstants.HREGION_LOGDIR_NAME)) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      logDirName = logFile.getName();<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    ServerName serverName = null;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (logDirName.endsWith(SPLITTING_EXT)) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      logDirName = logDirName.substring(0, logDirName.length() - SPLITTING_EXT.length());<a name="line.345"></a>
+<span class="sourceLineNo">328</span>    Path p = new Path(path);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return getServerNameFromWALDirectoryName(p);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * This function returns region server name from a log file name which is in one of the following<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * formats:<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * &lt;ul&gt;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * &lt;li&gt;hdfs://&amp;lt;name node&amp;gt;/hbase/.logs/&amp;lt;server name&amp;gt;-splitting/...&lt;/li&gt;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * &lt;li&gt;hdfs://&amp;lt;name node&amp;gt;/hbase/.logs/&amp;lt;server name&amp;gt;/...&lt;/li&gt;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * &lt;/ul&gt;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @return null if the passed in logFile isn't a valid WAL file path<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   */<a name="line.340"></a>
+<span class="sourceLineNo">341</span>  public static ServerName getServerNameFromWALDirectoryName(Path logFile) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    String logDirName = logFile.getParent().getName();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    // We were passed the directory and not a file in it.<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    if (logDirName.equals(HConstants.HREGION_LOGDIR_NAME)) {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      logDirName = logFile.getName();<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    try {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      serverName = ServerName.parseServerName(logDirName);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    } catch (IllegalArgumentException|IllegalStateException ex) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      serverName = null;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      LOG.warn("Cannot parse a server name from path=" + logFile + "; " + ex.getMessage());<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (serverName != null &amp;&amp; serverName.getStartcode() &lt; 0) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      LOG.warn("Invalid log file path=" + logFile);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      serverName = null;<a name="line.355"></a>
+<span class="sourceLineNo">347</span>    ServerName serverName = null;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    if (logDirName.endsWith(SPLITTING_EXT)) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      logDirName = logDirName.substring(0, logDirName.length() - SPLITTING_EXT.length());<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    try {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      serverName = ServerName.parseServerName(logDirName);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    } catch (IllegalArgumentException|IllegalStateException ex) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      serverName = null;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      LOG.warn("Cannot parse a server name from path=" + logFile + "; " + ex.getMessage());<a name="line.355"></a>
 <span class="sourceLineNo">356</span>    }<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    return serverName;<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  public static boolean isMetaFile(Path p) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    return isMetaFile(p.getName());<a name="line.361"></a>
+<span class="sourceLineNo">357</span>    if (serverName != null &amp;&amp; serverName.getStartcode() &lt; 0) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      LOG.warn("Invalid log file path=" + logFile);<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      serverName = null;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    return serverName;<a name="line.361"></a>
 <span class="sourceLineNo">362</span>  }<a name="line.362"></a>
 <span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static boolean isMetaFile(String p) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    if (p != null &amp;&amp; p.endsWith(META_WAL_PROVIDER_ID)) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      return true;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    }<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return false;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
-<span class="sourceLineNo">370</span><a name="line.370"></a>
-<span class="sourceLineNo">371</span>  public static boolean isArchivedLogFile(Path p) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    String oldLog = Path.SEPARATOR + HConstants.HREGION_OLDLOGDIR_NAME + Path.SEPARATOR;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    return p.toString().contains(oldLog);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Get prefix of the log from its name, assuming WAL name in format of<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * log_prefix.filenumber.log_suffix<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @param name Name of the WAL to parse<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @return prefix of the log<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @see AbstractFSWAL#getCurrentFileName()<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>  public static String getWALPrefixFromWALName(String name) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    int endIndex = name.replaceAll(META_WAL_PROVIDER_ID, "").lastIndexOf(".");<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    return name.substring(0, endIndex);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
-<span class="sourceLineNo">387</span>}<a name="line.387"></a>
+<span class="sourceLineNo">364</span>  public static boolean isMetaFile(Path p) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    return isMetaFile(p.getName());<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  }<a name="line.366"></a>
+<span class="sourceLineNo">367</span><a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public static boolean isMetaFile(String p) {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    if (p != null &amp;&amp; p.endsWith(META_WAL_PROVIDER_ID)) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      return true;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    }<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    return false;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>  public static boolean isArchivedLogFile(Path p) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    String oldLog = Path.SEPARATOR + HConstants.HREGION_OLDLOGDIR_NAME + Path.SEPARATOR;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    return p.toString().contains(oldLog);<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  }<a name="line.378"></a>
+<span class="sourceLineNo">379</span><a name="line.379"></a>
+<span class="sourceLineNo">380</span>  /**<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * Get the archived WAL file path<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @param path - active WAL file path<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * @param conf - configuration<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * @return archived path if exists, path - otherwise<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * @throws IOException exception<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public static Path getArchivedLogPath(Path path, Configuration conf) throws IOException {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    Path rootDir = FSUtils.getRootDir(conf);<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    Path oldLogDir = new Path(rootDir, HConstants.HREGION_OLDLOGDIR_NAME);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    Path archivedLogLocation = new Path(oldLogDir, path.getName());<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final FileSystem fs = FSUtils.getCurrentFileSystem(conf);<a name="line.391"></a>
+<span class="sourceLineNo">392</span><a name="line.392"></a>
+<span class="sourceLineNo">393</span>    if (fs.exists(archivedLogLocation)) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      LOG.info("Log " + path + " was moved to " + archivedLogLocation);<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      return archivedLogLocation;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    } else {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      LOG.error("Couldn't locate log: " + path);<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      return path;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    }<a name="line.399"></a>
+<span class="sourceLineNo">400</span>  }<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>  /**<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * Opens WAL reader with retries and<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * additional exception handling<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * @param path path to WAL file<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * @param conf configuration<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * @return WAL Reader instance<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * @throws IOException<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
+<span class="sourceLineNo">410</span>  public static org.apache.hadoop.hbase.wal.WAL.Reader<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    openReader(Path path, Configuration conf)<a name="line.411"></a>
+<span class="sourceLineNo">412</span>        throws IOException<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    long retryInterval = 2000; // 2 sec<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    int maxAttempts = 30;<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    int attempt = 0;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    Exception ee = null;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    org.apache.hadoop.hbase.wal.WAL.Reader reader = null;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    while (reader == null &amp;&amp; attempt++ &lt; maxAttempts) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      try {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        // Detect if this is a new file, if so get a new reader else<a name="line.422"></a>
+<span class="sourceLineNo">423</span>        // reset the current reader so that we see the new data<a name="line.423"></a>
+<span class="sourceLineNo">424</span>        reader = WALFactory.createReader(path.getFileSystem(conf), path, conf);<a name="line.424"></a>
+<span class="sourceLineNo">425</span>        return reader;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>      } catch (FileNotFoundException fnfe) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        // If the log was archived, continue reading from there<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Path archivedLog = AbstractFSWALProvider.getArchivedLogPath(path, conf);<a name="line.428"></a>
+<span class="sourceLineNo">429</span>        if (path != archivedLog) {<a name="line.429"></a>
+<span class="sourceLineNo">430</span>          return openReader(archivedLog, conf);<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        } else {<a name="line.431"></a>
+<span class="sourceLineNo">432</span>          throw fnfe;<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        }<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      } catch (LeaseNotRecoveredException lnre) {<a name="line.434"></a>
+<span class="sourceLineNo">435</span>        // HBASE-15019 the WAL was not closed due to some hiccup.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        LOG.warn("Try to recover the WAL lease " + path, lnre);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        recoverLease(conf, path);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        reader = null;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        ee = lnre;<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      } catch (NullPointerException npe) {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        // Workaround for race condition in HDFS-4380<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        // which throws a NPE if we open a file before any data node has the most recent block<a name="line.442"></a>
+<span class="sourceLineNo">443</span>        // Just sleep and retry. Will require re-reading compressed WALs for compressionContext.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>        LOG.warn("Got NPE opening reader, will retry.");<a name="line.444"></a>
+<span class="sourceLineNo">445</span>        reader = null;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        ee = npe;<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      }<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      if (reader == null) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        // sleep before next attempt<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        try {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          Thread.sleep(retryInterval);<a name="line.451"></a>
+<span class="sourceLineNo">452</span>        } catch (InterruptedException e) {<a name="line.452"></a>
+<span class="sourceLineNo">453</span>        }<a name="line.453"></a>
+<span class="sourceLineNo">454</span>      }<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    throw new IOException("Could not open reader", ee);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  }<a name="line.457"></a>
+<span class="sourceLineNo">458</span><a name="line.458"></a>
+<span class="sourceLineNo">459</span>  // For HBASE-15019<a name="line.459"></a>
+<span class="sourceLineNo">460</span>  private static void recoverLease(final Configuration conf, final Path path) {<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    try {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      final FileSystem dfs = FSUtils.getCurrentFileSystem(conf);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      FSUtils fsUtils = FSUtils.getInstance(dfs, conf);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      fsUtils.recoverFileLease(dfs, path, conf, new CancelableProgressable() {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>        @Override<a name="line.465"></a>
+<span class="sourceLineNo">466</span>        public boolean progress() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>          LOG.debug("Still trying to recover WAL lease: " + path);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>          return true;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>        }<a name="line.469"></a>
+<span class="sourceLineNo">470</span>      });<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    } catch (IOException e) {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      LOG.warn("unable to recover lease for WAL: " + path, e);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
+<span class="sourceLineNo">474</span>  }<a name="line.474"></a>
+<span class="sourceLineNo">475</span><a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * Get prefix of the log from its name, assuming WAL name in format of<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   * log_prefix.filenumber.log_suffix<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @param name Name of the WAL to parse<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * @return prefix of the log<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   * @see AbstractFSWAL#getCurrentFileName()<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   */<a name="line.483"></a>
+<span class="sourceLineNo">484</span>  public static String getWALPrefixFromWALName(String name) {<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    int endIndex = name.replaceAll(META_WAL_PROVIDER_ID, "").lastIndexOf(".");<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    return name.substring(0, endIndex);<a name="line.486"></a>
+<span class="sourceLineNo">487</span>  }<a name="line.487"></a>
+<span class="sourceLineNo">488</span>}<a name="line.488"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 9108f3b..49f5062 100644
--- a/export_control.html
+++ b/export_control.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -348,7 +348,7 @@ for more details.</p>
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2017-04-04</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-04-05</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index db0d528..d06eeb4 100644
--- a/hbase-annotations/checkstyle.html
+++ b/hbase-annotations/checkstyle.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index 9d1cdcc..a2a33ea 100644
--- a/hbase-annotations/dependencies.html
+++ b/hbase-annotations/dependencies.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index 5d22063..3a31c87 100644
--- a/hbase-annotations/dependency-convergence.html
+++ b/hbase-annotations/dependency-convergence.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index aad7395..1310cc9 100644
--- a/hbase-annotations/dependency-info.html
+++ b/hbase-annotations/dependency-info.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-04-05 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
       @import url("./css/site.css");
     </style>
     <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-04-04</span>
+        <span id="publishDate">Last Published: 2017-04-05</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>


[10/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
index bff248e..7c76f46 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/WALPlayer.WALMapper.html
@@ -66,7 +66,7 @@
 <span class="sourceLineNo">058</span>/**<a name="line.58"></a>
 <span class="sourceLineNo">059</span> * A tool to replay WAL files as a M/R job.<a name="line.59"></a>
 <span class="sourceLineNo">060</span> * The WAL can be replayed for a set of tables or all tables,<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * and a timerange can be provided (in milliseconds).<a name="line.61"></a>
+<span class="sourceLineNo">061</span> * and a time range can be provided (in milliseconds).<a name="line.61"></a>
 <span class="sourceLineNo">062</span> * The WAL is filtered to the passed set of tables and  the output<a name="line.62"></a>
 <span class="sourceLineNo">063</span> * can optionally be mapped to another set of tables.<a name="line.63"></a>
 <span class="sourceLineNo">064</span> *<a name="line.64"></a>
@@ -81,313 +81,317 @@
 <span class="sourceLineNo">073</span>  public final static String BULK_OUTPUT_CONF_KEY = "wal.bulk.output";<a name="line.73"></a>
 <span class="sourceLineNo">074</span>  public final static String TABLES_KEY = "wal.input.tables";<a name="line.74"></a>
 <span class="sourceLineNo">075</span>  public final static String TABLE_MAP_KEY = "wal.input.tablesmap";<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  // This relies on Hadoop Configuration to handle warning about deprecated configs and<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  // to set the correct non-deprecated configs when an old one shows up.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  static {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    Configuration.addDeprecation("hlog.bulk.output", BULK_OUTPUT_CONF_KEY);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Configuration.addDeprecation("hlog.input.tables", TABLES_KEY);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    Configuration.addDeprecation("hlog.input.tablesmap", TABLE_MAP_KEY);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  }<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  private final static String JOB_NAME_CONF_KEY = "mapreduce.job.name";<a name="line.85"></a>
-<span class="sourceLineNo">086</span><a name="line.86"></a>
-<span class="sourceLineNo">087</span>  public WALPlayer(){<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
+<span class="sourceLineNo">076</span>  public final static String INPUT_FILES_SEPARATOR_KEY = "wal.input.separator";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  public final static String IGNORE_MISSING_FILES = "wal.input.ignore.missing.files";<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  // This relies on Hadoop Configuration to handle warning about deprecated configs and<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  // to set the correct non-deprecated configs when an old one shows up.<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  static {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    Configuration.addDeprecation("hlog.bulk.output", BULK_OUTPUT_CONF_KEY);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    Configuration.addDeprecation("hlog.input.tables", TABLES_KEY);<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    Configuration.addDeprecation("hlog.input.tablesmap", TABLE_MAP_KEY);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  private final static String JOB_NAME_CONF_KEY = "mapreduce.job.name";<a name="line.88"></a>
 <span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  protected WALPlayer(final Configuration c) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    super(c);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /**<a name="line.94"></a>
-<span class="sourceLineNo">095</span>   * A mapper that just writes out KeyValues.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  static class WALKeyValueMapper<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private byte[] table;<a name="line.100"></a>
-<span class="sourceLineNo">101</span><a name="line.101"></a>
-<span class="sourceLineNo">102</span>    @Override<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    public void map(WALKey key, WALEdit value,<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      Context context)<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    throws IOException {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      try {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>        // skip all other tables<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>          for (Cell cell : value.getCells()) {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>            if (WALEdit.isMetaEditFamily(kv)) {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>              continue;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>            }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>          }<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      } catch (InterruptedException e) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        e.printStackTrace();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      }<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>    @Override<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public void setup(Context context) throws IOException {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (tables == null || tables.length != 1) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      table = Bytes.toBytes(tables[0]);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    }<a name="line.131"></a>
-<span class="sourceLineNo">132</span>  }<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  /**<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * a running HBase instance.<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  protected static class WALMapper<a name="line.138"></a>
-<span class="sourceLineNo">139</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;&gt;();<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>    @Override<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    throws IOException {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      try {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>          TableName targetTable = tables.isEmpty() ?<a name="line.147"></a>
-<span class="sourceLineNo">148</span>                key.getTablename() :<a name="line.148"></a>
-<span class="sourceLineNo">149</span>                tables.get(key.getTablename());<a name="line.149"></a>
-<span class="sourceLineNo">150</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          Put put = null;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>          Delete del = null;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          Cell lastCell = null;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>          for (Cell cell : value.getCells()) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>            // filtering WAL meta entries<a name="line.155"></a>
-<span class="sourceLineNo">156</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>              continue;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>            }<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>            // Allow a subclass filter out this cell.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>            if (filter(context, cell)) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.162"></a>
-<span class="sourceLineNo">163</span>              // multiple rows (HBASE-5229).<a name="line.163"></a>
-<span class="sourceLineNo">164</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.164"></a>
-<span class="sourceLineNo">165</span>              // operation before writing to the context.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.166"></a>
-<span class="sourceLineNo">167</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>                // row or type changed, write out aggregate KVs.<a name="line.168"></a>
-<span class="sourceLineNo">169</span>                if (put != null) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>                  context.write(tableOut, put);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>                }<a name="line.171"></a>
-<span class="sourceLineNo">172</span>                if (del != null) {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>                  context.write(tableOut, del);<a name="line.173"></a>
-<span class="sourceLineNo">174</span>                }<a name="line.174"></a>
-<span class="sourceLineNo">175</span>                if (CellUtil.isDelete(cell)) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.176"></a>
-<span class="sourceLineNo">177</span>                } else {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>                  put = new Put(CellUtil.cloneRow(cell));<a name="line.178"></a>
+<span class="sourceLineNo">090</span>  public WALPlayer(){<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  }<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  protected WALPlayer(final Configuration c) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    super(c);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * A mapper that just writes out KeyValues.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * This one can be used together with {@link KeyValueSortReducer}<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  static class WALKeyValueMapper<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, KeyValue&gt; {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    private byte[] table;<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>    @Override<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    public void map(WALKey key, WALEdit value,<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      Context context)<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    throws IOException {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      try {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        // skip all other tables<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        if (Bytes.equals(table, key.getTablename().getName())) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>          for (Cell cell : value.getCells()) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>            KeyValue kv = KeyValueUtil.ensureKeyValue(cell);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>            if (WALEdit.isMetaEditFamily(kv)) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>              continue;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>            }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>            context.write(new ImmutableBytesWritable(CellUtil.cloneRow(kv)), kv);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>          }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        }<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      } catch (InterruptedException e) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>        e.printStackTrace();<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    }<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>    @Override<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    public void setup(Context context) throws IOException {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      // only a single table is supported when HFiles are generated with HFileOutputFormat<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      String[] tables = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      if (tables == null || tables.length != 1) {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        throw new IOException("Exactly one table must be specified for bulk HFile case.");<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      }<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      table = Bytes.toBytes(tables[0]);<a name="line.133"></a>
+<span class="sourceLineNo">134</span><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><a name="line.138"></a>
+<span class="sourceLineNo">139</span>  /**<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * A mapper that writes out {@link Mutation} to be directly applied to<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * a running HBase instance.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  protected static class WALMapper<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  extends Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt; {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    private Map&lt;TableName, TableName&gt; tables = new TreeMap&lt;&gt;();<a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146"></a>
+<span class="sourceLineNo">147</span>    @Override<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void map(WALKey key, WALEdit value, Context context)<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    throws IOException {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      try {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>        if (tables.isEmpty() || tables.containsKey(key.getTablename())) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>          TableName targetTable = tables.isEmpty() ?<a name="line.152"></a>
+<span class="sourceLineNo">153</span>                key.getTablename() :<a name="line.153"></a>
+<span class="sourceLineNo">154</span>                tables.get(key.getTablename());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>          ImmutableBytesWritable tableOut = new ImmutableBytesWritable(targetTable.getName());<a name="line.155"></a>
+<span class="sourceLineNo">156</span>          Put put = null;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>          Delete del = null;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>          Cell lastCell = null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>          for (Cell cell : value.getCells()) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>            // filtering WAL meta entries<a name="line.160"></a>
+<span class="sourceLineNo">161</span>            if (WALEdit.isMetaEditFamily(cell)) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>              continue;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>            }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>            // Allow a subclass filter out this cell.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>            if (filter(context, cell)) {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>              // A WALEdit may contain multiple operations (HBASE-3584) and/or<a name="line.167"></a>
+<span class="sourceLineNo">168</span>              // multiple rows (HBASE-5229).<a name="line.168"></a>
+<span class="sourceLineNo">169</span>              // Aggregate as much as possible into a single Put/Delete<a name="line.169"></a>
+<span class="sourceLineNo">170</span>              // operation before writing to the context.<a name="line.170"></a>
+<span class="sourceLineNo">171</span>              if (lastCell == null || lastCell.getTypeByte() != cell.getTypeByte()<a name="line.171"></a>
+<span class="sourceLineNo">172</span>                  || !CellUtil.matchingRow(lastCell, cell)) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>                // row or type changed, write out aggregate KVs.<a name="line.173"></a>
+<span class="sourceLineNo">174</span>                if (put != null) {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>                  context.write(tableOut, put);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>                }<a name="line.176"></a>
+<span class="sourceLineNo">177</span>                if (del != null) {<a name="line.177"></a>
+<span class="sourceLineNo">178</span>                  context.write(tableOut, del);<a name="line.178"></a>
 <span class="sourceLineNo">179</span>                }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>              }<a name="line.180"></a>
-<span class="sourceLineNo">181</span>              if (CellUtil.isDelete(cell)) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>                del.addDeleteMarker(cell);<a name="line.182"></a>
-<span class="sourceLineNo">183</span>              } else {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>                put.add(cell);<a name="line.184"></a>
+<span class="sourceLineNo">180</span>                if (CellUtil.isDelete(cell)) {<a name="line.180"></a>
+<span class="sourceLineNo">181</span>                  del = new Delete(CellUtil.cloneRow(cell));<a name="line.181"></a>
+<span class="sourceLineNo">182</span>                } else {<a name="line.182"></a>
+<span class="sourceLineNo">183</span>                  put = new Put(CellUtil.cloneRow(cell));<a name="line.183"></a>
+<span class="sourceLineNo">184</span>                }<a name="line.184"></a>
 <span class="sourceLineNo">185</span>              }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>            }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>            lastCell = cell;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>          }<a name="line.188"></a>
-<span class="sourceLineNo">189</span>          // write residual KVs<a name="line.189"></a>
-<span class="sourceLineNo">190</span>          if (put != null) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>            context.write(tableOut, put);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>          }<a name="line.192"></a>
-<span class="sourceLineNo">193</span>          if (del != null) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>            context.write(tableOut, del);<a name="line.194"></a>
-<span class="sourceLineNo">195</span>          }<a name="line.195"></a>
-<span class="sourceLineNo">196</span>        }<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      } catch (InterruptedException e) {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        e.printStackTrace();<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      }<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    }<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      return true;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>    @Override<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    protected void<a name="line.207"></a>
-<span class="sourceLineNo">208</span>        cleanup(Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt;.Context context)<a name="line.208"></a>
-<span class="sourceLineNo">209</span>            throws IOException, InterruptedException {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      super.cleanup(context);<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>    public void setup(Context context) throws IOException {<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      if (tableMap == null) {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>        tableMap = tablesToUse;<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      if (tablesToUse == null) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>        // Then user wants all tables.<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      } else if (tablesToUse.length != tableMap.length) {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        throw new IOException("Incorrect table mapping specified .");<a name="line.224"></a>
-<span class="sourceLineNo">225</span>      }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>      int i = 0;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      if (tablesToUse != null) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>        for (String table : tablesToUse) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>          tables.put(TableName.valueOf(table),<a name="line.229"></a>
-<span class="sourceLineNo">230</span>            TableName.valueOf(tableMap[i++]));<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        }<a name="line.231"></a>
-<span class="sourceLineNo">232</span>      }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  }<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    String val = conf.get(option);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    if (null == val) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      return;<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    long ms;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    try {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>      // first try to parse in user friendly form<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    } catch (ParseException pe) {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      try {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>        // then see if just a number of ms's was specified<a name="line.247"></a>
-<span class="sourceLineNo">248</span>        ms = Long.parseLong(val);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      } catch (NumberFormatException nfe) {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>        throw new IOException(option<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.251"></a>
-<span class="sourceLineNo">252</span>            + "or as number of milliseconds");<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>    conf.setLong(option, ms);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  /**<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * Sets up the actual job.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   *<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @param args  The command line parameters.<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   * @return The newly created job.<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @throws IOException When setting up the job fails.<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    Configuration conf = getConf();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    String inputDirs = args[0];<a name="line.269"></a>
-<span class="sourceLineNo">270</span>    String[] tables = args[1].split(",");<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    String[] tableMap;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    if (args.length &gt; 2) {<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      tableMap = args[2].split(",");<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      if (tableMap.length != tables.length) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      }<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    } else {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      // if not mapping is specified map each table to itself<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      tableMap = tables;<a name="line.279"></a>
-<span class="sourceLineNo">280</span>    }<a name="line.280"></a>
-<span class="sourceLineNo">281</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + System.currentTimeMillis()));<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    job.setJarByClass(WALPlayer.class);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>    FileInputFormat.addInputPaths(job, inputDirs);<a name="line.286"></a>
-<span class="sourceLineNo">287</span><a name="line.287"></a>
-<span class="sourceLineNo">288</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    if (hfileOutPath != null) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>      LOG.debug("add incremental job :" + hfileOutPath + " from " + inputDirs);<a name="line.293"></a>
+<span class="sourceLineNo">186</span>              if (CellUtil.isDelete(cell)) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>                del.addDeleteMarker(cell);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>              } else {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>                put.add(cell);<a name="line.189"></a>
+<span class="sourceLineNo">190</span>              }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>            }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>            lastCell = cell;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>          }<a name="line.193"></a>
+<span class="sourceLineNo">194</span>          // write residual KVs<a name="line.194"></a>
+<span class="sourceLineNo">195</span>          if (put != null) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>            context.write(tableOut, put);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>          if (del != null) {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            context.write(tableOut, del);<a name="line.199"></a>
+<span class="sourceLineNo">200</span>          }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      } catch (InterruptedException e) {<a name="line.202"></a>
+<span class="sourceLineNo">203</span>        e.printStackTrace();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    }<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>    protected boolean filter(Context context, final Cell cell) {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return true;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>    @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    protected void<a name="line.212"></a>
+<span class="sourceLineNo">213</span>        cleanup(Mapper&lt;WALKey, WALEdit, ImmutableBytesWritable, Mutation&gt;.Context context)<a name="line.213"></a>
+<span class="sourceLineNo">214</span>            throws IOException, InterruptedException {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      super.cleanup(context);<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>    public void setup(Context context) throws IOException {<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      String[] tableMap = context.getConfiguration().getStrings(TABLE_MAP_KEY);<a name="line.220"></a>
+<span class="sourceLineNo">221</span>      String[] tablesToUse = context.getConfiguration().getStrings(TABLES_KEY);<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      if (tableMap == null) {<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        tableMap = tablesToUse;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>      }<a name="line.224"></a>
+<span class="sourceLineNo">225</span>      if (tablesToUse == null) {<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        // Then user wants all tables.<a name="line.226"></a>
+<span class="sourceLineNo">227</span>      } else if (tablesToUse.length != tableMap.length) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        // this can only happen when WALMapper is used directly by a class other than WALPlayer<a name="line.228"></a>
+<span class="sourceLineNo">229</span>        throw new IOException("Incorrect table mapping specified .");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>      }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      int i = 0;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      if (tablesToUse != null) {<a name="line.232"></a>
+<span class="sourceLineNo">233</span>        for (String table : tablesToUse) {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>          tables.put(TableName.valueOf(table),<a name="line.234"></a>
+<span class="sourceLineNo">235</span>            TableName.valueOf(tableMap[i++]));<a name="line.235"></a>
+<span class="sourceLineNo">236</span>        }<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      }<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  void setupTime(Configuration conf, String option) throws IOException {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>    String val = conf.get(option);<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    if (null == val) {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      return;<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    }<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    long ms;<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    try {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      // first try to parse in user friendly form<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      ms = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SS").parse(val).getTime();<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    } catch (ParseException pe) {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      try {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        // then see if just a number of ms's was specified<a name="line.252"></a>
+<span class="sourceLineNo">253</span>        ms = Long.parseLong(val);<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      } catch (NumberFormatException nfe) {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>        throw new IOException(option<a name="line.255"></a>
+<span class="sourceLineNo">256</span>            + " must be specified either in the form 2001-02-20T16:35:06.99 "<a name="line.256"></a>
+<span class="sourceLineNo">257</span>            + "or as number of milliseconds");<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>    conf.setLong(option, ms);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * Sets up the actual job.<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   *<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   * @param args  The command line parameters.<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   * @return The newly created job.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>   * @throws IOException When setting up the job fails.<a name="line.268"></a>
+<span class="sourceLineNo">269</span>   */<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  public Job createSubmittableJob(String[] args) throws IOException {<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    Configuration conf = getConf();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    setupTime(conf, WALInputFormat.START_TIME_KEY);<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    setupTime(conf, WALInputFormat.END_TIME_KEY);<a name="line.273"></a>
+<span class="sourceLineNo">274</span>    String inputDirs = args[0];<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    String[] tables = args[1].split(",");<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    String[] tableMap;<a name="line.276"></a>
+<span class="sourceLineNo">277</span>    if (args.length &gt; 2) {<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      tableMap = args[2].split(",");<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      if (tableMap.length != tables.length) {<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        throw new IOException("The same number of tables and mapping must be provided.");<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      }<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    } else {<a name="line.282"></a>
+<span class="sourceLineNo">283</span>      // if not mapping is specified map each table to itself<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      tableMap = tables;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    conf.setStrings(TABLES_KEY, tables);<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    conf.setStrings(TABLE_MAP_KEY, tableMap);<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    conf.set(FileInputFormat.INPUT_DIR, inputDirs);<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    Job job = Job.getInstance(conf, conf.get(JOB_NAME_CONF_KEY, NAME + "_" + System.currentTimeMillis()));<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    job.setJarByClass(WALPlayer.class);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    job.setInputFormatClass(WALInputFormat.class);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    job.setMapOutputKeyClass(ImmutableBytesWritable.class);<a name="line.293"></a>
 <span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>      // the bulk HFile case<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      if (tables.length != 1) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.297"></a>
-<span class="sourceLineNo">298</span>      }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      Path outputDir = new Path(hfileOutPath);<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.305"></a>
-<span class="sourceLineNo">306</span>          Table table = conn.getTable(tableName);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      }<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.310"></a>
-<span class="sourceLineNo">311</span>          com.google.common.base.Preconditions.class);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    } else {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      // output to live cluster<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      job.setMapperClass(WALMapper.class);<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      TableMapReduceUtil.initCredentials(job);<a name="line.317"></a>
-<span class="sourceLineNo">318</span>      // No reducers.<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      job.setNumReduceTasks(0);<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    }<a name="line.320"></a>
-<span class="sourceLineNo">321</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    try {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    } catch (Exception e) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    return job;<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span><a name="line.330"></a>
-<span class="sourceLineNo">331</span>  /**<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * Print usage<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @param errorMsg Error message.  Can be null.<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   */<a name="line.334"></a>
-<span class="sourceLineNo">335</span>  private void usage(final String errorMsg) {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      System.err.println("ERROR: " + errorMsg);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    System.err.println("(Careful, even hbase:meta entries will be imported"+<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      " in that case.)");<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    System.err.println("For performance also consider the following options:\n"<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      + "  -Dmapreduce.map.speculative=false\n"<a name="line.358"></a>
-<span class="sourceLineNo">359</span>      + "  -Dmapreduce.reduce.speculative=false");<a name="line.359"></a>
-<span class="sourceLineNo">360</span>  }<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>  /**<a name="line.362"></a>
-<span class="sourceLineNo">363</span>   * Main entry point.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>   *<a name="line.364"></a>
-<span class="sourceLineNo">365</span>   * @param args  The command line parameters.<a name="line.365"></a>
-<span class="sourceLineNo">366</span>   * @throws Exception When running the job fails.<a name="line.366"></a>
-<span class="sourceLineNo">367</span>   */<a name="line.367"></a>
-<span class="sourceLineNo">368</span>  public static void main(String[] args) throws Exception {<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    System.exit(ret);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>  }<a name="line.371"></a>
-<span class="sourceLineNo">372</span><a name="line.372"></a>
-<span class="sourceLineNo">373</span>  @Override<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  public int run(String[] args) throws Exception {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    if (args.length &lt; 2) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      usage("Wrong number of arguments: " + args.length);<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      System.exit(-1);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>    Job job = createSubmittableJob(args);<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>  }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>}<a name="line.382"></a>
+<span class="sourceLineNo">295</span>    String hfileOutPath = conf.get(BULK_OUTPUT_CONF_KEY);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    if (hfileOutPath != null) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      LOG.debug("add incremental job :" + hfileOutPath + " from " + inputDirs);<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>      // the bulk HFile case<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      if (tables.length != 1) {<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        throw new IOException("Exactly one table must be specified for the bulk export option");<a name="line.301"></a>
+<span class="sourceLineNo">302</span>      }<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      TableName tableName = TableName.valueOf(tables[0]);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      job.setMapperClass(WALKeyValueMapper.class);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      job.setReducerClass(KeyValueSortReducer.class);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      Path outputDir = new Path(hfileOutPath);<a name="line.306"></a>
+<span class="sourceLineNo">307</span>      FileOutputFormat.setOutputPath(job, outputDir);<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      job.setMapOutputValueClass(KeyValue.class);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>      try (Connection conn = ConnectionFactory.createConnection(conf);<a name="line.309"></a>
+<span class="sourceLineNo">310</span>          Table table = conn.getTable(tableName);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>          RegionLocator regionLocator = conn.getRegionLocator(tableName)) {<a name="line.311"></a>
+<span class="sourceLineNo">312</span>        HFileOutputFormat2.configureIncrementalLoad(job, table.getTableDescriptor(), regionLocator);<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      }<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(),<a name="line.314"></a>
+<span class="sourceLineNo">315</span>          com.google.common.base.Preconditions.class);<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    } else {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      // output to live cluster<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      job.setMapperClass(WALMapper.class);<a name="line.318"></a>
+<span class="sourceLineNo">319</span>      job.setOutputFormatClass(MultiTableOutputFormat.class);<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      TableMapReduceUtil.addDependencyJars(job);<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      TableMapReduceUtil.initCredentials(job);<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      // No reducers.<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      job.setNumReduceTasks(0);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    }<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    String codecCls = WALCellCodec.getWALCellCodecClass(conf);<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    try {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      TableMapReduceUtil.addDependencyJarsForClasses(job.getConfiguration(), Class.forName(codecCls));<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    } catch (Exception e) {<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      throw new IOException("Cannot determine wal codec class " + codecCls, e);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    return job;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span><a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Print usage<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * @param errorMsg Error message.  Can be null.<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   */<a name="line.338"></a>
+<span class="sourceLineNo">339</span>  private void usage(final String errorMsg) {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    if (errorMsg != null &amp;&amp; errorMsg.length() &gt; 0) {<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      System.err.println("ERROR: " + errorMsg);<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    System.err.println("Usage: " + NAME + " [options] &lt;wal inputdir&gt; &lt;tables&gt; [&lt;tableMappings&gt;]");<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    System.err.println("Read all WAL entries for &lt;tables&gt;.");<a name="line.344"></a>
+<span class="sourceLineNo">345</span>    System.err.println("If no tables (\"\") are specific, all tables are imported.");<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    System.err.println("(Careful, even hbase:meta entries will be imported"+<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      " in that case.)");<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    System.err.println("Otherwise &lt;tables&gt; is a comma separated list of tables.\n");<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    System.err.println("The WAL entries can be mapped to new set of tables via &lt;tableMapping&gt;.");<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    System.err.println("&lt;tableMapping&gt; is a command separated list of targettables.");<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    System.err.println("If specified, each table in &lt;tables&gt; must have a mapping.\n");<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    System.err.println("By default " + NAME + " will load data directly into HBase.");<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    System.err.println("To generate HFiles for a bulk data load instead, pass the option:");<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    System.err.println("  -D" + BULK_OUTPUT_CONF_KEY + "=/path/for/output");<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    System.err.println("  (Only one table can be specified, and no mapping is allowed!)");<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    System.err.println("Other options: (specify time range to WAL edit to consider)");<a name="line.356"></a>
+<span class="sourceLineNo">357</span>    System.err.println("  -D" + WALInputFormat.START_TIME_KEY + "=[date|ms]");<a name="line.357"></a>
+<span class="sourceLineNo">358</span>    System.err.println("  -D" + WALInputFormat.END_TIME_KEY + "=[date|ms]");<a name="line.358"></a>
+<span class="sourceLineNo">359</span>    System.err.println("   -D " + JOB_NAME_CONF_KEY<a name="line.359"></a>
+<span class="sourceLineNo">360</span>      + "=jobName - use the specified mapreduce job name for the wal player");<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    System.err.println("For performance also consider the following options:\n"<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      + "  -Dmapreduce.map.speculative=false\n"<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      + "  -Dmapreduce.reduce.speculative=false");<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Main entry point.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   *<a name="line.368"></a>
+<span class="sourceLineNo">369</span>   * @param args  The command line parameters.<a name="line.369"></a>
+<span class="sourceLineNo">370</span>   * @throws Exception When running the job fails.<a name="line.370"></a>
+<span class="sourceLineNo">371</span>   */<a name="line.371"></a>
+<span class="sourceLineNo">372</span>  public static void main(String[] args) throws Exception {<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    int ret = ToolRunner.run(new WALPlayer(HBaseConfiguration.create()), args);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    System.exit(ret);<a name="line.374"></a>
+<span class="sourceLineNo">375</span>  }<a name="line.375"></a>
+<span class="sourceLineNo">376</span><a name="line.376"></a>
+<span class="sourceLineNo">377</span>  @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public int run(String[] args) throws Exception {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    if (args.length &lt; 2) {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      usage("Wrong number of arguments: " + args.length);<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      System.exit(-1);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    }<a name="line.382"></a>
+<span class="sourceLineNo">383</span>    Job job = createSubmittableJob(args);<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    return job.waitForCompletion(true) ? 0 : 1;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>}<a name="line.386"></a>
 
 
 


[06/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 9be600e..b947231 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -33,10 +33,10 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String")})<a name="line.31"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
 <span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,74 +77,74 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 22, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setFormat(String format)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 22, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_format__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getFormat()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_format;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_format;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getFormat__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_format__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    // 22, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    public void setFormat(String format)<a name="line.90"></a>
+<span class="sourceLineNo">088</span>    private boolean m_format__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // 23, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    public void setBcn(String bcn)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      // 22, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span>      m_format = format;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      m_format__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span>      // 23, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcn = bcn;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcn__IsNotDefault = true;<a name="line.94"></a>
 <span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getFormat()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getBcn()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_format;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_bcn;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    private String m_format;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    public boolean getFormat__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span>    private String m_bcn;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcn__IsNotDefault()<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_format__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_bcn__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_format__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 24, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcv(String bcv)<a name="line.107"></a>
+<span class="sourceLineNo">105</span>    private boolean m_bcn__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    // 21, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFilter(String filter)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 24, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcv = bcv;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcv__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 21, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_filter = filter;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_filter__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcv()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFilter()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcv;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_filter;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcv;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcv__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFilter__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcv__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_filter__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcv__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    // 23, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    public void setBcn(String bcn)<a name="line.124"></a>
+<span class="sourceLineNo">122</span>    private boolean m_filter__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    // 24, 1<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    public void setBcv(String bcv)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      // 23, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      m_bcn = bcn;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      m_bcn__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span>      // 24, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span>      m_bcv = bcv;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>      m_bcv__IsNotDefault = true;<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    }<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    public String getBcn()<a name="line.130"></a>
+<span class="sourceLineNo">130</span>    public String getBcv()<a name="line.130"></a>
 <span class="sourceLineNo">131</span>    {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      return m_bcn;<a name="line.132"></a>
+<span class="sourceLineNo">132</span>      return m_bcv;<a name="line.132"></a>
 <span class="sourceLineNo">133</span>    }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    private String m_bcn;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public boolean getBcn__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span>    private String m_bcv;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    public boolean getBcv__IsNotDefault()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_bcn__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_bcv__IsNotDefault;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private boolean m_bcn__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>    private boolean m_bcv__IsNotDefault;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>  }<a name="line.140"></a>
 <span class="sourceLineNo">141</span>  @Override<a name="line.141"></a>
 <span class="sourceLineNo">142</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,31 +156,31 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String format;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setFormat(p_format);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<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>  protected String format;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.159"></a>
+<span class="sourceLineNo">158</span>  protected String bcn;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.159"></a>
 <span class="sourceLineNo">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setFormat(p_format);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setBcn(p_bcn);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcv;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String filter;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcv(p_bcv);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFilter(p_filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<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>  protected String bcn;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.173"></a>
+<span class="sourceLineNo">172</span>  protected String bcv;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.173"></a>
 <span class="sourceLineNo">174</span>  {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    (getImplData()).setBcn(p_bcn);<a name="line.175"></a>
+<span class="sourceLineNo">175</span>    (getImplData()).setBcv(p_bcv);<a name="line.175"></a>
 <span class="sourceLineNo">176</span>    return this;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>  }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>  <a name="line.178"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index 70e1b13..f7990de 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -34,27 +34,27 @@
 <span class="sourceLineNo">026</span><a name="line.26"></a>
 <span class="sourceLineNo">027</span>{<a name="line.27"></a>
 <span class="sourceLineNo">028</span>  private final HRegionServer regionServer;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>  private final String filter;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>  private final String format;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>  private final String bcv;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>  private final String bcn;<a name="line.32"></a>
+<span class="sourceLineNo">029</span>  private final String format;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>  private final String bcn;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>  private final String filter;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>  private final String bcv;<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  protected static org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData p_implData)<a name="line.33"></a>
 <span class="sourceLineNo">034</span>  {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.35"></a>
+<span class="sourceLineNo">035</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.35"></a>
 <span class="sourceLineNo">036</span>    {<a name="line.36"></a>
-<span class="sourceLineNo">037</span>      p_implData.setFilter("general");<a name="line.37"></a>
+<span class="sourceLineNo">037</span>      p_implData.setFormat("html");<a name="line.37"></a>
 <span class="sourceLineNo">038</span>    }<a name="line.38"></a>
-<span class="sourceLineNo">039</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.39"></a>
+<span class="sourceLineNo">039</span>    if(! p_implData.getBcn__IsNotDefault())<a name="line.39"></a>
 <span class="sourceLineNo">040</span>    {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>      p_implData.setFormat("html");<a name="line.41"></a>
+<span class="sourceLineNo">041</span>      p_implData.setBcn("");<a name="line.41"></a>
 <span class="sourceLineNo">042</span>    }<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.43"></a>
+<span class="sourceLineNo">043</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.43"></a>
 <span class="sourceLineNo">044</span>    {<a name="line.44"></a>
-<span class="sourceLineNo">045</span>      p_implData.setBcv("");<a name="line.45"></a>
+<span class="sourceLineNo">045</span>      p_implData.setFilter("general");<a name="line.45"></a>
 <span class="sourceLineNo">046</span>    }<a name="line.46"></a>
-<span class="sourceLineNo">047</span>    if(! p_implData.getBcn__IsNotDefault())<a name="line.47"></a>
+<span class="sourceLineNo">047</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.47"></a>
 <span class="sourceLineNo">048</span>    {<a name="line.48"></a>
-<span class="sourceLineNo">049</span>      p_implData.setBcn("");<a name="line.49"></a>
+<span class="sourceLineNo">049</span>      p_implData.setBcv("");<a name="line.49"></a>
 <span class="sourceLineNo">050</span>    }<a name="line.50"></a>
 <span class="sourceLineNo">051</span>    return p_implData;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>  }<a name="line.52"></a>
@@ -62,10 +62,10 @@
 <span class="sourceLineNo">054</span>  {<a name="line.54"></a>
 <span class="sourceLineNo">055</span>    super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.55"></a>
 <span class="sourceLineNo">056</span>    regionServer = p_implData.getRegionServer();<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    filter = p_implData.getFilter();<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    format = p_implData.getFormat();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    bcv = p_implData.getBcv();<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    bcn = p_implData.getBcn();<a name="line.60"></a>
+<span class="sourceLineNo">057</span>    format = p_implData.getFormat();<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    bcn = p_implData.getBcn();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    filter = p_implData.getFilter();<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    bcv = p_implData.getBcv();<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  }<a name="line.61"></a>
 <span class="sourceLineNo">062</span>  <a name="line.62"></a>
 <span class="sourceLineNo">063</span>  @Override public void renderNoFlush(final java.io.Writer jamonWriter)<a name="line.63"></a>
@@ -94,8 +94,8 @@
 <span class="sourceLineNo">086</span>      // 41, 3<a name="line.86"></a>
 <span class="sourceLineNo">087</span>      {<a name="line.87"></a>
 <span class="sourceLineNo">088</span>        org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_7 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        __jamon__var_7.setFilter(filter);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        __jamon__var_7.setFormat("json" );<a name="line.90"></a>
+<span class="sourceLineNo">089</span>        __jamon__var_7.setFormat("json" );<a name="line.89"></a>
+<span class="sourceLineNo">090</span>        __jamon__var_7.setFilter(filter);<a name="line.90"></a>
 <span class="sourceLineNo">091</span>        __jamon__var_7.renderNoFlush(jamonWriter);<a name="line.91"></a>
 <span class="sourceLineNo">092</span>      }<a name="line.92"></a>
 <span class="sourceLineNo">093</span>      // 41, 68<a name="line.93"></a>


[21/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 2b579e7..29200f1 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7,7 +7,7 @@
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170404" />
+    <meta name="Date-Revision-yyyymmdd" content="20170405" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -301,7 +301,7 @@
 <td>2145</td>
 <td>0</td>
 <td>0</td>
-<td>14233</td></tr></table></div>
+<td>14239</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -699,7 +699,7 @@
 <td><a href="#org.apache.hadoop.hbase.backup.impl.IncrementalBackupManager.java">org/apache/hadoop/hbase/backup/impl/IncrementalBackupManager.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>1</td></tr>
+<td>4</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.backup.impl.IncrementalTableBackupClient.java">org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java</a></td>
 <td>0</td>
@@ -2874,7 +2874,7 @@
 <td><a href="#org.apache.hadoop.hbase.mapreduce.WALInputFormat.java">org/apache/hadoop/hbase/mapreduce/WALInputFormat.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>8</td></tr>
+<td>9</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.WALPlayer.java">org/apache/hadoop/hbase/mapreduce/WALPlayer.java</a></td>
 <td>0</td>
@@ -6824,7 +6824,7 @@
 <td><a href="#org.apache.hadoop.hbase.wal.AbstractFSWALProvider.java">org/apache/hadoop/hbase/wal/AbstractFSWALProvider.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>1</td></tr>
+<td>3</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.BoundedGroupingStrategy.java">org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.java</a></td>
 <td>0</td>
@@ -7026,12 +7026,12 @@
 <tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#LeftCurly">LeftCurly</a></td>
-<td>346</td>
+<td>348</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#NeedBraces">NeedBraces</a></td>
-<td>1945</td>
+<td>1946</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>coding</td>
@@ -7128,7 +7128,7 @@
 <tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
-<td>3262</td>
+<td>3265</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
 <tr class="b">
 <td>misc</td>
@@ -13523,71 +13523,89 @@
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>150</td></tr></table></div>
+<td>116</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>blocks</td>
+<td>NeedBraces</td>
+<td>'if' construct must use '{}'s.</td>
+<td>166</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>javadoc</td>
+<td>NonEmptyAtclauseDescription</td>
+<td>At-clause should have a non-empty description.</td>
+<td>174</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
+<td>javadoc</td>
+<td>NonEmptyAtclauseDescription</td>
+<td>At-clause should have a non-empty description.</td>
+<td>193</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.backup.impl.IncrementalTableBackupClient.java">org/apache/hadoop/hbase/backup/impl/IncrementalTableBackupClient.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>168</td></tr>
-<tr class="a">
+<td>96</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'backupManager' have incorrect indentation level 4, expected level should be 6.</td>
-<td>186</td></tr>
-<tr class="b">
+<td>114</td></tr>
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>258</td></tr>
-<tr class="a">
+<td>186</td></tr>
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>266</td></tr></table></div>
+<td>194</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.backup.impl.TableBackupClient.java">org/apache/hadoop/hbase/backup/impl/TableBackupClient.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
-<td>383</td></tr></table></div>
+<td>379</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.backup.regionserver.LogRollBackupSubprocedure.java">org/apache/hadoop/hbase/backup/regionserver/LogRollBackupSubprocedure.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>86</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -13596,25 +13614,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.backup.util.BackupUtils.java">org/apache/hadoop/hbase/backup/util/BackupUtils.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>547</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>585</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -13623,28 +13641,28 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.backup.util.RestoreTool.java">org/apache/hadoop/hbase/backup/util/RestoreTool.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 108).</td>
-<td>240</td></tr></table></div>
+<td>229</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.classification.tools.ExcludePrivateAnnotationsStandardDoclet.java">org/apache/hadoop/hbase/classification/tools/ExcludePrivateAnnotationsStandardDoclet.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -13653,13 +13671,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.classification.tools.IncludePublicAnnotationsStandardDoclet.java">org/apache/hadoop/hbase/classification/tools/IncludePublicAnnotationsStandardDoclet.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -13668,25 +13686,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.classification.tools.RootDocProcessor.java">org/apache/hadoop/hbase/classification/tools/RootDocProcessor.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
 <td>110</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
 <td>switch without &quot;default&quot; clause.</td>
 <td>120</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>MissingSwitchDefault</td>
@@ -13695,25 +13713,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.classification.tools.StabilityOptions.java">org/apache/hadoop/hbase/classification/tools/StabilityOptions.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>36</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>37</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -13722,19 +13740,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AbstractResponse.java">org/apache/hadoop/hbase/client/AbstractResponse.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
 <td>31</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
@@ -13743,13 +13761,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Action.java">org/apache/hadoop/hbase/client/Action.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -13758,469 +13776,469 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Admin.java">org/apache/hadoop/hbase/client/Admin.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>92</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>197</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>210</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>229</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>230</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>243</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>246</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>247</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>348</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>349</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>413</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>415</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>482</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>493</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>640</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>641</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>653</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>655</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>657</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>669</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>670</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>671</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>772</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>773</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>782</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>784</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>786</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>787</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>807</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>820</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>906</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>914</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>921</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>931</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>932</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>948</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>961</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1105</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1124</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1143</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1152</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1191</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1224</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1240</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1263</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1364</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1419</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1423</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1438</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1555</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1557</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1559</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1756</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1764</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1771</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1780</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1781</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1793</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1803</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1804</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1816</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1834</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1835</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1861</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1870</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1878</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1886</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1895</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1905</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1915</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1916</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1927</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1928</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1938</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1948</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1958</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -14229,31 +14247,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Append.java">org/apache/hadoop/hbase/client/Append.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>80</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>95</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>96</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -14262,85 +14280,85 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncAdmin.java">org/apache/hadoop/hbase/client/AsyncAdmin.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.NamespaceDescriptor' import.</td>
 <td>27</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>200</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
 <td>209</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
 <td>219</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>321</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>367</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>368</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>379</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>381</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>383</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 107).</td>
 <td>388</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>394</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -14349,13 +14367,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncAdminRequestRetryingCaller.java">org/apache/hadoop/hbase/client/AsyncAdminRequestRetryingCaller.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -14364,25 +14382,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncBatchRpcRetryingCaller.java">org/apache/hadoop/hbase/client/AsyncBatchRpcRetryingCaller.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'loc' must be private and have accessor methods.</td>
 <td>112</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'actions' must be private and have accessor methods.</td>
 <td>114</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
@@ -14391,37 +14409,37 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncClientScanner.java">org/apache/hadoop/hbase/client/AsyncClientScanner.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>AvoidStarImport</td>
 <td>Using the '.*' form of import should be avoided - org.apache.hadoop.hbase.client.ConnectionUtils.*.</td>
 <td>22</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'loc' must be private and have accessor methods.</td>
 <td>103</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'stub' must be private and have accessor methods.</td>
 <td>107</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'controller' must be private and have accessor methods.</td>
 <td>109</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
@@ -14430,13 +14448,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncConnection.java">org/apache/hadoop/hbase/client/AsyncConnection.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -14445,13 +14463,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncConnectionConfiguration.java">org/apache/hadoop/hbase/client/AsyncConnectionConfiguration.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -14460,175 +14478,175 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncHBaseAdmin.java">org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.annotations.VisibleForTesting' import.</td>
 <td>34</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.NamespaceDescriptor' import.</td>
 <td>46</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.HConstants' import.</td>
 <td>47</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.AsyncMetaTableAccessor' import.</td>
 <td>49</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest' import.</td>
 <td>82</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest' import.</td>
 <td>94</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
 <td>299</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 10, expected level should be 22.</td>
 <td>342</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 12, expected level should be 24.</td>
 <td>343</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 12, expected level should be 24.</td>
 <td>344</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 10, expected level should be 22.</td>
 <td>345</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 10, expected level should be 22.</td>
 <td>346</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 12, expected level should be 24.</td>
 <td>347</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 10, expected level should be 22.</td>
 <td>348</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else' child have incorrect indentation level 12, expected level should be 24.</td>
 <td>349</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'else rcurly' have incorrect indentation level 10, expected level should be 22.</td>
 <td>350</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block rcurly' have incorrect indentation level 8, expected level should be 20.</td>
 <td>351</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
 <td>574</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
 <td>581</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
 <td>635</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 111).</td>
 <td>647</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
 <td>685</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>755</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>908</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>914</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1021</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1022</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -14637,13 +14655,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncMetaRegionLocator.java">org/apache/hadoop/hbase/client/AsyncMetaRegionLocator.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>AvoidStarImport</td>
@@ -14652,31 +14670,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator.java">org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'locateType' must be private and have accessor methods.</td>
 <td>80</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'cache' must be private and have accessor methods.</td>
 <td>104</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
 <td>Variable 'pendingRequests' must be private and have accessor methods.</td>
 <td>107</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>VisibilityModifier</td>
@@ -14685,73 +14703,73 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncProcess.java">org/apache/hadoop/hbase/client/AsyncProcess.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 108).</td>
 <td>226</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 112).</td>
 <td>231</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>317</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
 <td>326</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
 <td>387</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>403</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 6, expected level should be 8.</td>
 <td>438</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 6, expected level should be 8.</td>
 <td>439</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method call' child have incorrect indentation level 6, expected level should be 8.</td>
 <td>440</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 109).</td>
 <td>466</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -14760,13 +14778,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncProcessTask.java">org/apache/hadoop/hbase/client/AsyncProcessTask.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>FinalClass</td>
@@ -14775,13 +14793,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncRequestFuture.java">org/apache/hadoop/hbase/client/AsyncRequestFuture.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -14790,151 +14808,151 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncRequestFutureImpl.java">org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>104</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>138</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>141</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>151</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>173</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
 <td>225</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 115).</td>
 <td>407</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>425</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
 <td>445</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>461</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
 <td>463</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>477</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>481</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>503</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 107).</td>
 <td>524</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 105).</td>
 <td>541</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 107).</td>
 <td>554</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 110).</td>
 <td>606</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>632</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 108).</td>
 <td>657</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
 <td>780</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>1109</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
 <td>1120</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -14943,13 +14961,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncRpcRetryingCaller.java">org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -14958,13 +14976,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.java">org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -14973,13 +14991,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.java">org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
@@ -14988,25 +15006,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.AsyncTableImpl.java">org/apache/hadoop/hbase/client/AsyncTableImpl.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>AvoidStarImport</td>
 <td>Using the '.*' form of import should be avoided - java.util.stream.Collectors.*.</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'java.util.stream.Collectors.*' import.</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>InnerAssignment</td>
@@ -15015,13 +15033,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.BatchErrors.java">org/apache/hadoop/hbase/client/BatchErrors.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -15030,13 +15048,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.BufferedMutator.java">org/apache/hadoop/hbase/client/BufferedMutator.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -15045,31 +15063,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.BufferedMutatorImpl.java">org/apache/hadoop/hbase/client/BufferedMutatorImpl.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'java.io.IOException' import.</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>UnusedImports</td>
 <td>Unused import - org.apache.hadoop.hbase.HConstants.</td>
 <td>36</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 106).</td>
 <td>114</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
@@ -15078,25 +15096,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.CancellableRegionServerCallable.java">org/apache/hadoop/hbase/client/CancellableRegionServerCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController' import.</td>
 <td>27</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>55</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -15105,19 +15123,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ClientAsyncPrefetchScanner.java">org/apache/hadoop/hbase/client/ClientAsyncPrefetchScanner.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.client.ConnectionUtils.calcEstimatedSize' import.</td>
 <td>21</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -15126,13 +15144,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ClientIdGenerator.java">org/apache/hadoop/hbase/client/ClientIdGenerator.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -15141,19 +15159,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ClientScanner.java">org/apache/hadoop/hbase/client/ClientScanner.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>97</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -15162,19 +15180,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ClientServiceCallable.java">org/apache/hadoop/hbase/client/ClientServiceCallable.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController' import.</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -15183,13 +15201,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ClusterStatusListener.java">org/apache/hadoop/hbase/client/ClusterStatusListener.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -15198,19 +15216,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.CompactType.java">org/apache/hadoop/hbase/client/CompactType.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
 <td>31</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
@@ -15219,13 +15237,13 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ConnectionConfiguration.java">org/apache/hadoop/hbase/client/ConnectionConfiguration.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
@@ -15234,19 +15252,19 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ConnectionFactory.java">org/apache/hadoop/hbase/client/ConnectionFactory.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
 <td>60</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -15255,31 +15273,31 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.ConnectionImplementation.java">org/apache/hadoop/hbase/client/ConnectionImplementation.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'edu.umd.cs.findbugs.annotations.Nullable' import.</td>
 <td>123</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
 <td>1015</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>MethodLength</td>
 <td>Method length is 485 lines (max allowed is 150).</td>
 <td>1249</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>coding</td>
 <td>NoFinalizer</td>
@@ -15288,25 +15306,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.CoprocessorHConnection.java">org/apache/hadoop/hbase/client/CoprocessorHConnection.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>70</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>79</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -15315,25 +15333,25 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.DelayingRunner.java">org/apache/hadoop/hbase/client/DelayingRunner.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'java.util.List' import.</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>81</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
@@ -15342,43 +15360,43 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Delete.java">org/apache/hadoop/hbase/client/Delete.java</h3>
 <table border="0" class="table table-striped">
-<tr class="a">
+<tr class="b">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>114</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>115</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>131</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>132</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>159</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
@@ -15387,61 +15405,61 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.Get.java">org/apache/hadoop/hbase/client/Get.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>97</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>136</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>137</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>138</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>147</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>223</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>332</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>342</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
@@ -15450,487 +15468,487 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.client.HBaseAdmin.java">org/apache/hadoop/hbase/client/HBaseAdmin.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>imports</td>
 <td>ImportOrder</td>
 <td>Wrong order for 'com.google.common.annotations.VisibleForTesting' import.</td>
 <td>203</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>299</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>301</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>303</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>304</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
 <td>305</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>428</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>431</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>433</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>435</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>436</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 10, expected level should be one of the following: 14, 16.</td>
 <td>437</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if rcurly' have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>438</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>439</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>440</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
 <td>441</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>617</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>1232</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>1233</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1261</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 103).</td>
 <td>1471</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1508</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1527</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1545</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1563</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
 <td>1584</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
 <td>1589</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>MethodParamPad</td>
 <td>'(' is preceded with whitespace.</td>
 <td>1593</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>1602</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>1604</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>1610</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>1611</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
 <td>1612</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>1666</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>1669</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>1671</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'if' child have incorrect indentation level 7, expected level should be 6.</td>
 <td>1705</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1772</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1774</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
 <td>1775</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>1776</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>1807</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Javadoc comment at column 64 has parse error. Missed HTML close tag 'code'. Sometimes it means that close tag missed for one of previous tags.</td>
 <td>1955</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>1987</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>1989</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>1992</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
 <td>1993</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>2014</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>2017</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 7, expected level should be one of the following: 10, 12.</td>
 <td>2019</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
 <td>2020</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
 <td>2041</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
 <td>2044</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'method def rcurly' have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
 <td>2046</td></tr>
-<tr clas

<TRUNCATED>

[05/24] hbase-site git commit: Published site at 910b68082c8f200f0ba6395a76b7ee1c8917e401.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f5caf0f9/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html b/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html
index e1a18ec..fcefc60 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/wal/AbstractFSWALProvider.Reader.html
@@ -25,374 +25,475 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.wal;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import java.io.IOException;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.util.ArrayList;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.util.Collections;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.util.List;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.regex.Pattern;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.commons.logging.Log;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.LogFactory;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.conf.Configuration;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.fs.FSDataInputStream;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FileSystem;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.Path;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.HConstants;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.ServerName;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import com.google.common.annotations.VisibleForTesting;<a name="line.40"></a>
-<span class="sourceLineNo">041</span><a name="line.41"></a>
-<span class="sourceLineNo">042</span>/**<a name="line.42"></a>
-<span class="sourceLineNo">043</span> * Base class of a WAL Provider that returns a single thread safe WAL that writes to Hadoop FS. By<a name="line.43"></a>
-<span class="sourceLineNo">044</span> * default, this implementation picks a directory in Hadoop FS based on a combination of<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * &lt;ul&gt;<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * &lt;li&gt;the HBase root directory<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * &lt;li&gt;HConstants.HREGION_LOGDIR_NAME<a name="line.47"></a>
-<span class="sourceLineNo">048</span> * &lt;li&gt;the given factory's factoryId (usually identifying the regionserver by host:port)<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * &lt;/ul&gt;<a name="line.49"></a>
-<span class="sourceLineNo">050</span> * It also uses the providerId to differentiate among files.<a name="line.50"></a>
-<span class="sourceLineNo">051</span> */<a name="line.51"></a>
-<span class="sourceLineNo">052</span>@InterfaceAudience.Private<a name="line.52"></a>
-<span class="sourceLineNo">053</span>@InterfaceStability.Evolving<a name="line.53"></a>
-<span class="sourceLineNo">054</span>public abstract class AbstractFSWALProvider&lt;T extends AbstractFSWAL&lt;?&gt;&gt; implements WALProvider {<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private static final Log LOG = LogFactory.getLog(AbstractFSWALProvider.class);<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  // Only public so classes back in regionserver.wal can access<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public interface Reader extends WAL.Reader {<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    /**<a name="line.60"></a>
-<span class="sourceLineNo">061</span>     * @param fs File system.<a name="line.61"></a>
-<span class="sourceLineNo">062</span>     * @param path Path.<a name="line.62"></a>
-<span class="sourceLineNo">063</span>     * @param c Configuration.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>     * @param s Input stream that may have been pre-opened by the caller; may be null.<a name="line.64"></a>
-<span class="sourceLineNo">065</span>     */<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    void init(FileSystem fs, Path path, Configuration c, FSDataInputStream s) throws IOException;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  protected volatile T wal;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  protected WALFactory factory = null;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  protected Configuration conf = null;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  protected List&lt;WALActionsListener&gt; listeners = null;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  protected String providerId = null;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  protected AtomicBoolean initialized = new AtomicBoolean(false);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  // for default wal provider, logPrefix won't change<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  protected String logPrefix = null;<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>  /**<a name="line.78"></a>
-<span class="sourceLineNo">079</span>   * we synchronized on walCreateLock to prevent wal recreation in different threads<a name="line.79"></a>
-<span class="sourceLineNo">080</span>   */<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  private final Object walCreateLock = new Object();<a name="line.81"></a>
-<span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  /**<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @param factory factory that made us, identity used for FS layout. may not be null<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   * @param conf may not be null<a name="line.85"></a>
-<span class="sourceLineNo">086</span>   * @param listeners may be null<a name="line.86"></a>
-<span class="sourceLineNo">087</span>   * @param providerId differentiate between providers from one factory, used for FS layout. may be<a name="line.87"></a>
-<span class="sourceLineNo">088</span>   *          null<a name="line.88"></a>
-<span class="sourceLineNo">089</span>   */<a name="line.89"></a>
-<span class="sourceLineNo">090</span>  @Override<a name="line.90"></a>
-<span class="sourceLineNo">091</span>  public void init(WALFactory factory, Configuration conf, List&lt;WALActionsListener&gt; listeners,<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      String providerId) throws IOException {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    if (!initialized.compareAndSet(false, true)) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      throw new IllegalStateException("WALProvider.init should only be called once.");<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    this.factory = factory;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    this.conf = conf;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    this.listeners = listeners;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    this.providerId = providerId;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    // get log prefix<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    StringBuilder sb = new StringBuilder().append(factory.factoryId);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    if (providerId != null) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      if (providerId.startsWith(WAL_FILE_NAME_DELIMITER)) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        sb.append(providerId);<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      } else {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        sb.append(WAL_FILE_NAME_DELIMITER).append(providerId);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    }<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    logPrefix = sb.toString();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    doInit(conf);<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  }<a name="line.111"></a>
-<span class="sourceLineNo">112</span><a name="line.112"></a>
-<span class="sourceLineNo">113</span>  @Override<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  public List&lt;WAL&gt; getWALs() throws IOException {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    if (wal == null) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      return Collections.emptyList();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    List&lt;WAL&gt; wals = new ArrayList&lt;&gt;(1);<a name="line.118"></a>
-<span class="sourceLineNo">119</span>    wals.add(wal);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    return wals;<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>  @Override<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public T getWAL(byte[] identifier, byte[] namespace) throws IOException {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    T walCopy = wal;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    if (walCopy == null) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      // only lock when need to create wal, and need to lock since<a name="line.127"></a>
-<span class="sourceLineNo">128</span>      // creating hlog on fs is time consuming<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      synchronized (walCreateLock) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>        walCopy = wal;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        if (walCopy == null) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          walCopy = createWAL();<a name="line.132"></a>
-<span class="sourceLineNo">133</span>          wal = walCopy;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        }<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>    return walCopy;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  }<a name="line.138"></a>
-<span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>  protected abstract T createWAL() throws IOException;<a name="line.140"></a>
-<span class="sourceLineNo">141</span><a name="line.141"></a>
-<span class="sourceLineNo">142</span>  protected abstract void doInit(Configuration conf) throws IOException;<a name="line.142"></a>
+<span class="sourceLineNo">020</span>import java.io.FileNotFoundException;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.ArrayList;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.Collections;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.List;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.regex.Pattern;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.conf.Configuration;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.fs.FSDataInputStream;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.fs.FileSystem;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.fs.Path;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HConstants;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.regionserver.wal.WALActionsListener;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.util.CancelableProgressable;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.util.LeaseNotRecoveredException;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>import com.google.common.annotations.VisibleForTesting;<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>/**<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * Base class of a WAL Provider that returns a single thread safe WAL that writes to Hadoop FS. By<a name="line.47"></a>
+<span class="sourceLineNo">048</span> * default, this implementation picks a directory in Hadoop FS based on a combination of<a name="line.48"></a>
+<span class="sourceLineNo">049</span> * &lt;ul&gt;<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * &lt;li&gt;the HBase root directory<a name="line.50"></a>
+<span class="sourceLineNo">051</span> * &lt;li&gt;HConstants.HREGION_LOGDIR_NAME<a name="line.51"></a>
+<span class="sourceLineNo">052</span> * &lt;li&gt;the given factory's factoryId (usually identifying the regionserver by host:port)<a name="line.52"></a>
+<span class="sourceLineNo">053</span> * &lt;/ul&gt;<a name="line.53"></a>
+<span class="sourceLineNo">054</span> * It also uses the providerId to differentiate among files.<a name="line.54"></a>
+<span class="sourceLineNo">055</span> */<a name="line.55"></a>
+<span class="sourceLineNo">056</span>@InterfaceAudience.Private<a name="line.56"></a>
+<span class="sourceLineNo">057</span>@InterfaceStability.Evolving<a name="line.57"></a>
+<span class="sourceLineNo">058</span>public abstract class AbstractFSWALProvider&lt;T extends AbstractFSWAL&lt;?&gt;&gt; implements WALProvider {<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  private static final Log LOG = LogFactory.getLog(AbstractFSWALProvider.class);<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  // Only public so classes back in regionserver.wal can access<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public interface Reader extends WAL.Reader {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    /**<a name="line.64"></a>
+<span class="sourceLineNo">065</span>     * @param fs File system.<a name="line.65"></a>
+<span class="sourceLineNo">066</span>     * @param path Path.<a name="line.66"></a>
+<span class="sourceLineNo">067</span>     * @param c Configuration.<a name="line.67"></a>
+<span class="sourceLineNo">068</span>     * @param s Input stream that may have been pre-opened by the caller; may be null.<a name="line.68"></a>
+<span class="sourceLineNo">069</span>     */<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    void init(FileSystem fs, Path path, Configuration c, FSDataInputStream s) throws IOException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>  protected volatile T wal;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  protected WALFactory factory = null;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  protected Configuration conf = null;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  protected List&lt;WALActionsListener&gt; listeners = null;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  protected String providerId = null;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  protected AtomicBoolean initialized = new AtomicBoolean(false);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  // for default wal provider, logPrefix won't change<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  protected String logPrefix = null;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * we synchronized on walCreateLock to prevent wal recreation in different threads<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   */<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  private final Object walCreateLock = new Object();<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  /**<a name="line.87"></a>
+<span class="sourceLineNo">088</span>   * @param factory factory that made us, identity used for FS layout. may not be null<a name="line.88"></a>
+<span class="sourceLineNo">089</span>   * @param conf may not be null<a name="line.89"></a>
+<span class="sourceLineNo">090</span>   * @param listeners may be null<a name="line.90"></a>
+<span class="sourceLineNo">091</span>   * @param providerId differentiate between providers from one factory, used for FS layout. may be<a name="line.91"></a>
+<span class="sourceLineNo">092</span>   *          null<a name="line.92"></a>
+<span class="sourceLineNo">093</span>   */<a name="line.93"></a>
+<span class="sourceLineNo">094</span>  @Override<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  public void init(WALFactory factory, Configuration conf, List&lt;WALActionsListener&gt; listeners,<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      String providerId) throws IOException {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    if (!initialized.compareAndSet(false, true)) {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      throw new IllegalStateException("WALProvider.init should only be called once.");<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    }<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    this.factory = factory;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    this.conf = conf;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    this.listeners = listeners;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    this.providerId = providerId;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    // get log prefix<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    StringBuilder sb = new StringBuilder().append(factory.factoryId);<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    if (providerId != null) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      if (providerId.startsWith(WAL_FILE_NAME_DELIMITER)) {<a name="line.107"></a>
+<span class="sourceLineNo">108</span>        sb.append(providerId);<a name="line.108"></a>
+<span class="sourceLineNo">109</span>      } else {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        sb.append(WAL_FILE_NAME_DELIMITER).append(providerId);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      }<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    logPrefix = sb.toString();<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    doInit(conf);<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>  @Override<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public List&lt;WAL&gt; getWALs() throws IOException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    if (wal == null) {<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      return Collections.emptyList();<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    }<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    List&lt;WAL&gt; wals = new ArrayList&lt;&gt;(1);<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    wals.add(wal);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>    return wals;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  @Override<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  public T getWAL(byte[] identifier, byte[] namespace) throws IOException {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    T walCopy = wal;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    if (walCopy == null) {<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      // only lock when need to create wal, and need to lock since<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      // creating hlog on fs is time consuming<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      synchronized (walCreateLock) {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        walCopy = wal;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        if (walCopy == null) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>          walCopy = createWAL();<a name="line.136"></a>
+<span class="sourceLineNo">137</span>          wal = walCopy;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>      }<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    return walCopy;<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>  @Override<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  public void shutdown() throws IOException {<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    T log = this.wal;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    if (log != null) {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      log.shutdown();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    }<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>  @Override<a name="line.152"></a>
-<span class="sourceLineNo">153</span>  public void close() throws IOException {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    T log = this.wal;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    if (log != null) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      log.close();<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><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * number of files (rolled and active). if either of them aren't, count 0 for that provider.<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  @Override<a name="line.164"></a>
-<span class="sourceLineNo">165</span>  public long getNumLogFiles() {<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    T log = this.wal;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    return log == null ? 0 : log.getNumLogFiles();<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  }<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>  /**<a name="line.170"></a>
-<span class="sourceLineNo">171</span>   * iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * size of files (only rolled). if either of them aren't, count 0 for that provider.<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  @Override<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  public long getLogFileSize() {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    T log = this.wal;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    return log == null ? 0 : log.getLogFileSize();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * returns the number of rolled WAL files.<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   */<a name="line.182"></a>
-<span class="sourceLineNo">183</span>  @VisibleForTesting<a name="line.183"></a>
-<span class="sourceLineNo">184</span>  public static int getNumRolledLogFiles(WAL wal) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getNumRolledLogFiles();<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  /**<a name="line.188"></a>
-<span class="sourceLineNo">189</span>   * returns the size of rolled WAL files.<a name="line.189"></a>
-<span class="sourceLineNo">190</span>   */<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  @VisibleForTesting<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  public static long getLogFileSize(WAL wal) {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getLogFileSize();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>  }<a name="line.194"></a>
-<span class="sourceLineNo">195</span><a name="line.195"></a>
-<span class="sourceLineNo">196</span>  /**<a name="line.196"></a>
-<span class="sourceLineNo">197</span>   * return the current filename from the current wal.<a name="line.197"></a>
-<span class="sourceLineNo">198</span>   */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  @VisibleForTesting<a name="line.199"></a>
-<span class="sourceLineNo">200</span>  public static Path getCurrentFileName(final WAL wal) {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getCurrentFileName();<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /**<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * request a log roll, but don't actually do it.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  @VisibleForTesting<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  static void requestLogRoll(final WAL wal) {<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    ((AbstractFSWAL&lt;?&gt;) wal).requestLogRoll();<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  }<a name="line.210"></a>
-<span class="sourceLineNo">211</span><a name="line.211"></a>
-<span class="sourceLineNo">212</span>  // should be package private; more visible for use in AbstractFSWAL<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public static final String WAL_FILE_NAME_DELIMITER = ".";<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  /** The hbase:meta region's WAL filename extension */<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  @VisibleForTesting<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  public static final String META_WAL_PROVIDER_ID = ".meta";<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  static final String DEFAULT_PROVIDER_ID = "default";<a name="line.217"></a>
-<span class="sourceLineNo">218</span><a name="line.218"></a>
-<span class="sourceLineNo">219</span>  // Implementation details that currently leak in tests or elsewhere follow<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  /** File Extension used while splitting an WAL into regions (HBASE-2312) */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  public static final String SPLITTING_EXT = "-splitting";<a name="line.221"></a>
+<span class="sourceLineNo">144</span>  protected abstract T createWAL() throws IOException;<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>  protected abstract void doInit(Configuration conf) throws IOException;<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>  @Override<a name="line.148"></a>
+<span class="sourceLineNo">149</span>  public void shutdown() throws IOException {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    T log = this.wal;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (log != null) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      log.shutdown();<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>  }<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span>  @Override<a name="line.156"></a>
+<span class="sourceLineNo">157</span>  public void close() throws IOException {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    T log = this.wal;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    if (log != null) {<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      log.close();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  }<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>  /**<a name="line.164"></a>
+<span class="sourceLineNo">165</span>   * iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * number of files (rolled and active). if either of them aren't, count 0 for that provider.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  @Override<a name="line.168"></a>
+<span class="sourceLineNo">169</span>  public long getNumLogFiles() {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    T log = this.wal;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    return log == null ? 0 : log.getNumLogFiles();<a name="line.171"></a>
+<span class="sourceLineNo">172</span>  }<a name="line.172"></a>
+<span class="sourceLineNo">173</span><a name="line.173"></a>
+<span class="sourceLineNo">174</span>  /**<a name="line.174"></a>
+<span class="sourceLineNo">175</span>   * iff the given WALFactory is using the DefaultWALProvider for meta and/or non-meta, count the<a name="line.175"></a>
+<span class="sourceLineNo">176</span>   * size of files (only rolled). if either of them aren't, count 0 for that provider.<a name="line.176"></a>
+<span class="sourceLineNo">177</span>   */<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  @Override<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  public long getLogFileSize() {<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    T log = this.wal;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    return log == null ? 0 : log.getLogFileSize();<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>   * returns the number of rolled WAL files.<a name="line.185"></a>
+<span class="sourceLineNo">186</span>   */<a name="line.186"></a>
+<span class="sourceLineNo">187</span>  @VisibleForTesting<a name="line.187"></a>
+<span class="sourceLineNo">188</span>  public static int getNumRolledLogFiles(WAL wal) {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getNumRolledLogFiles();<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  }<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>   * returns the size of rolled WAL files.<a name="line.193"></a>
+<span class="sourceLineNo">194</span>   */<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  @VisibleForTesting<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  public static long getLogFileSize(WAL wal) {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getLogFileSize();<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>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * return the current filename from the current wal.<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  @VisibleForTesting<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  public static Path getCurrentFileName(final WAL wal) {<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    return ((AbstractFSWAL&lt;?&gt;) wal).getCurrentFileName();<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>  /**<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   * request a log roll, but don't actually do it.<a name="line.209"></a>
+<span class="sourceLineNo">210</span>   */<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  @VisibleForTesting<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  static void requestLogRoll(final WAL wal) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    ((AbstractFSWAL&lt;?&gt;) wal).requestLogRoll();<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  // should be package private; more visible for use in AbstractFSWAL<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  public static final String WAL_FILE_NAME_DELIMITER = ".";<a name="line.217"></a>
+<span class="sourceLineNo">218</span>  /** The hbase:meta region's WAL filename extension */<a name="line.218"></a>
+<span class="sourceLineNo">219</span>  @VisibleForTesting<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  public static final String META_WAL_PROVIDER_ID = ".meta";<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  static final String DEFAULT_PROVIDER_ID = "default";<a name="line.221"></a>
 <span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  /**<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * It returns the file create timestamp from the file name. For name format see<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * {@link #validateWALFilename(String)} public until remaining tests move to o.a.h.h.wal<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * @param wal must not be null<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * @return the file number that is part of the WAL file name<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  @VisibleForTesting<a name="line.229"></a>
-<span class="sourceLineNo">230</span>  public static long extractFileNumFromWAL(final WAL wal) {<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    final Path walName = ((AbstractFSWAL&lt;?&gt;) wal).getCurrentFileName();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (walName == null) {<a name="line.232"></a>
-<span class="sourceLineNo">233</span>      throw new IllegalArgumentException("The WAL path couldn't be null");<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    }<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    final String[] walPathStrs = walName.toString().split("\\" + WAL_FILE_NAME_DELIMITER);<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    return Long.parseLong(walPathStrs[walPathStrs.length - (isMetaFile(walName) ? 2 : 1)]);<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Pattern used to validate a WAL file name see {@link #validateWALFilename(String)} for<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * description.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  private static final Pattern pattern = Pattern<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      .compile(".*\\.\\d*(" + META_WAL_PROVIDER_ID + ")*");<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * A WAL file name is of the format: &amp;lt;wal-name&amp;gt;{@link #WAL_FILE_NAME_DELIMITER}<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * &amp;lt;file-creation-timestamp&amp;gt;[.meta]. provider-name is usually made up of a server-name and a<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * provider-id<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param filename name of the file to validate<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @return &lt;tt&gt;true&lt;/tt&gt; if the filename matches an WAL, &lt;tt&gt;false&lt;/tt&gt; otherwise<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   */<a name="line.252"></a>
-<span class="sourceLineNo">253</span>  public static boolean validateWALFilename(String filename) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    return pattern.matcher(filename).matches();<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>  /**<a name="line.257"></a>
-<span class="sourceLineNo">258</span>   * Construct the directory name for all WALs on a given server. Dir names currently look like<a name="line.258"></a>
-<span class="sourceLineNo">259</span>   * this for WALs: &lt;code&gt;hbase//WALs/kalashnikov.att.net,61634,1486865297088&lt;/code&gt;.<a name="line.259"></a>
-<span class="sourceLineNo">260</span>   * @param serverName Server name formatted as described in {@link ServerName}<a name="line.260"></a>
-<span class="sourceLineNo">261</span>   * @return the relative WAL directory name, e.g. &lt;code&gt;.logs/1.example.org,60030,12345&lt;/code&gt; if<a name="line.261"></a>
-<span class="sourceLineNo">262</span>   *         &lt;code&gt;serverName&lt;/code&gt; passed is &lt;code&gt;1.example.org,60030,12345&lt;/code&gt;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   */<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  public static String getWALDirectoryName(final String serverName) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    StringBuilder dirName = new StringBuilder(HConstants.HREGION_LOGDIR_NAME);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    dirName.append("/");<a name="line.266"></a>
-<span class="sourceLineNo">267</span>    dirName.append(serverName);<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    return dirName.toString();<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>  /**<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   * Pulls a ServerName out of a Path generated according to our layout rules. In the below layouts,<a name="line.272"></a>
-<span class="sourceLineNo">273</span>   * this method ignores the format of the logfile component. Current format: [base directory for<a name="line.273"></a>
-<span class="sourceLineNo">274</span>   * hbase]/hbase/.logs/ServerName/logfile or [base directory for<a name="line.274"></a>
-<span class="sourceLineNo">275</span>   * hbase]/hbase/.logs/ServerName-splitting/logfile Expected to work for individual log files and<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   * server-specific directories.<a name="line.276"></a>
-<span class="sourceLineNo">277</span>   * @return null if it's not a log file. Returns the ServerName of the region server that created<a name="line.277"></a>
-<span class="sourceLineNo">278</span>   *         this log file otherwise.<a name="line.278"></a>
-<span class="sourceLineNo">279</span>   */<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  public static ServerName getServerNameFromWALDirectoryName(Configuration conf, String path)<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      throws IOException {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    if (path == null || path.length() &lt;= HConstants.HREGION_LOGDIR_NAME.length()) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      return null;<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>    if (conf == null) {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>      throw new IllegalArgumentException("parameter conf must be set");<a name="line.287"></a>
+<span class="sourceLineNo">223</span>  // Implementation details that currently leak in tests or elsewhere follow<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  /** File Extension used while splitting an WAL into regions (HBASE-2312) */<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  public static final String SPLITTING_EXT = "-splitting";<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * It returns the file create timestamp from the file name. For name format see<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * {@link #validateWALFilename(String)} public until remaining tests move to o.a.h.h.wal<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * @param wal must not be null<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * @return the file number that is part of the WAL file name<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  @VisibleForTesting<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  public static long extractFileNumFromWAL(final WAL wal) {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    final Path walName = ((AbstractFSWAL&lt;?&gt;) wal).getCurrentFileName();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    if (walName == null) {<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      throw new IllegalArgumentException("The WAL path couldn't be null");<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    }<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    final String[] walPathStrs = walName.toString().split("\\" + WAL_FILE_NAME_DELIMITER);<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    return Long.parseLong(walPathStrs[walPathStrs.length - (isMetaFile(walName) ? 2 : 1)]);<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  /**<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   * Pattern used to validate a WAL file name see {@link #validateWALFilename(String)} for<a name="line.244"></a>
+<span class="sourceLineNo">245</span>   * description.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  private static final Pattern pattern = Pattern<a name="line.247"></a>
+<span class="sourceLineNo">248</span>      .compile(".*\\.\\d*(" + META_WAL_PROVIDER_ID + ")*");<a name="line.248"></a>
+<span class="sourceLineNo">249</span><a name="line.249"></a>
+<span class="sourceLineNo">250</span>  /**<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * A WAL file name is of the format: &amp;lt;wal-name&amp;gt;{@link #WAL_FILE_NAME_DELIMITER}<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * &amp;lt;file-creation-timestamp&amp;gt;[.meta]. provider-name is usually made up of a server-name and a<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * provider-id<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param filename name of the file to validate<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @return &lt;tt&gt;true&lt;/tt&gt; if the filename matches an WAL, &lt;tt&gt;false&lt;/tt&gt; otherwise<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   */<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  public static boolean validateWALFilename(String filename) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    return pattern.matcher(filename).matches();<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  }<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  /**<a name="line.261"></a>
+<span class="sourceLineNo">262</span>   * Construct the directory name for all WALs on a given server. Dir names currently look like<a name="line.262"></a>
+<span class="sourceLineNo">263</span>   * this for WALs: &lt;code&gt;hbase//WALs/kalashnikov.att.net,61634,1486865297088&lt;/code&gt;.<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * @param serverName Server name formatted as described in {@link ServerName}<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   * @return the relative WAL directory name, e.g. &lt;code&gt;.logs/1.example.org,60030,12345&lt;/code&gt; if<a name="line.265"></a>
+<span class="sourceLineNo">266</span>   *         &lt;code&gt;serverName&lt;/code&gt; passed is &lt;code&gt;1.example.org,60030,12345&lt;/code&gt;<a name="line.266"></a>
+<span class="sourceLineNo">267</span>   */<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  public static String getWALDirectoryName(final String serverName) {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>    StringBuilder dirName = new StringBuilder(HConstants.HREGION_LOGDIR_NAME);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>    dirName.append("/");<a name="line.270"></a>
+<span class="sourceLineNo">271</span>    dirName.append(serverName);<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    return dirName.toString();<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>  /**<a name="line.275"></a>
+<span class="sourceLineNo">276</span>   * Pulls a ServerName out of a Path generated according to our layout rules. In the below layouts,<a name="line.276"></a>
+<span class="sourceLineNo">277</span>   * this method ignores the format of the logfile component. Current format: [base directory for<a name="line.277"></a>
+<span class="sourceLineNo">278</span>   * hbase]/hbase/.logs/ServerName/logfile or [base directory for<a name="line.278"></a>
+<span class="sourceLineNo">279</span>   * hbase]/hbase/.logs/ServerName-splitting/logfile Expected to work for individual log files and<a name="line.279"></a>
+<span class="sourceLineNo">280</span>   * server-specific directories.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>   * @return null if it's not a log file. Returns the ServerName of the region server that created<a name="line.281"></a>
+<span class="sourceLineNo">282</span>   *         this log file otherwise.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   */<a name="line.283"></a>
+<span class="sourceLineNo">284</span>  public static ServerName getServerNameFromWALDirectoryName(Configuration conf, String path)<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      throws IOException {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    if (path == null || path.length() &lt;= HConstants.HREGION_LOGDIR_NAME.length()) {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      return null;<a name="line.287"></a>
 <span class="sourceLineNo">288</span>    }<a name="line.288"></a>
 <span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>    final String rootDir = conf.get(HConstants.HBASE_DIR);<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    if (rootDir == null || rootDir.isEmpty()) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      throw new IllegalArgumentException(HConstants.HBASE_DIR + " key not found in conf.");<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    }<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>    final StringBuilder startPathSB = new StringBuilder(rootDir);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    if (!rootDir.endsWith("/")) {<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      startPathSB.append('/');<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    }<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    startPathSB.append(HConstants.HREGION_LOGDIR_NAME);<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    if (!HConstants.HREGION_LOGDIR_NAME.endsWith("/")) {<a name="line.300"></a>
+<span class="sourceLineNo">290</span>    if (conf == null) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span>      throw new IllegalArgumentException("parameter conf must be set");<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>    final String rootDir = conf.get(HConstants.HBASE_DIR);<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    if (rootDir == null || rootDir.isEmpty()) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      throw new IllegalArgumentException(HConstants.HBASE_DIR + " key not found in conf.");<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
+<span class="sourceLineNo">298</span><a name="line.298"></a>
+<span class="sourceLineNo">299</span>    final StringBuilder startPathSB = new StringBuilder(rootDir);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    if (!rootDir.endsWith("/")) {<a name="line.300"></a>
 <span class="sourceLineNo">301</span>      startPathSB.append('/');<a name="line.301"></a>
 <span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    final String startPath = startPathSB.toString();<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>    String fullPath;<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    try {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      fullPath = FileSystem.get(conf).makeQualified(new Path(path)).toString();<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    } catch (IllegalArgumentException e) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>      LOG.info("Call to makeQualified failed on " + path + " " + e.getMessage());<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      return null;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>    }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span>    if (!fullPath.startsWith(startPath)) {<a name="line.313"></a>
+<span class="sourceLineNo">303</span>    startPathSB.append(HConstants.HREGION_LOGDIR_NAME);<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    if (!HConstants.HREGION_LOGDIR_NAME.endsWith("/")) {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      startPathSB.append('/');<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    final String startPath = startPathSB.toString();<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>    String fullPath;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    try {<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      fullPath = FileSystem.get(conf).makeQualified(new Path(path)).toString();<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    } catch (IllegalArgumentException e) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      LOG.info("Call to makeQualified failed on " + path + " " + e.getMessage());<a name="line.313"></a>
 <span class="sourceLineNo">314</span>      return null;<a name="line.314"></a>
 <span class="sourceLineNo">315</span>    }<a name="line.315"></a>
 <span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    final String serverNameAndFile = fullPath.substring(startPath.length());<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>    if (serverNameAndFile.indexOf('/') &lt; "a,0,0".length()) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      // Either it's a file (not a directory) or it's not a ServerName format<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      return null;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    }<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span>    Path p = new Path(path);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    return getServerNameFromWALDirectoryName(p);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
+<span class="sourceLineNo">317</span>    if (!fullPath.startsWith(startPath)) {<a name="line.317"></a>
+<span class="sourceLineNo">318</span>      return null;<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    }<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>    final String serverNameAndFile = fullPath.substring(startPath.length());<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>    if (serverNameAndFile.indexOf('/') &lt; "a,0,0".length()) {<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      // Either it's a file (not a directory) or it's not a ServerName format<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      return null;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
 <span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  /**<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * This function returns region server name from a log file name which is in one of the following<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * formats:<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * &lt;ul&gt;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * &lt;li&gt;hdfs://&amp;lt;name node&amp;gt;/hbase/.logs/&amp;lt;server name&amp;gt;-splitting/...&lt;/li&gt;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * &lt;li&gt;hdfs://&amp;lt;name node&amp;gt;/hbase/.logs/&amp;lt;server name&amp;gt;/...&lt;/li&gt;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * &lt;/ul&gt;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * @return null if the passed in logFile isn't a valid WAL file path<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  public static ServerName getServerNameFromWALDirectoryName(Path logFile) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    String logDirName = logFile.getParent().getName();<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    // We were passed the directory and not a file in it.<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    if (logDirName.equals(HConstants.HREGION_LOGDIR_NAME)) {<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      logDirName = logFile.getName();<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    }<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    ServerName serverName = null;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    if (logDirName.endsWith(SPLITTING_EXT)) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      logDirName = logDirName.substring(0, logDirName.length() - SPLITTING_EXT.length());<a name="line.345"></a>
+<span class="sourceLineNo">328</span>    Path p = new Path(path);<a name="line.328"></a>
+<span class="sourceLineNo">329</span>    return getServerNameFromWALDirectoryName(p);<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>  /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * This function returns region server name from a log file name which is in one of the following<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   * formats:<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * &lt;ul&gt;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * &lt;li&gt;hdfs://&amp;lt;name node&amp;gt;/hbase/.logs/&amp;lt;server name&amp;gt;-splitting/...&lt;/li&gt;<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   * &lt;li&gt;hdfs://&amp;lt;name node&amp;gt;/hbase/.logs/&amp;lt;server name&amp;gt;/...&lt;/li&gt;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * &lt;/ul&gt;<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @return null if the passed in logFile isn't a valid WAL file path<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   */<a name="line.340"></a>
+<span class="sourceLineNo">341</span>  public static ServerName getServerNameFromWALDirectoryName(Path logFile) {<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    String logDirName = logFile.getParent().getName();<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    // We were passed the directory and not a file in it.<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    if (logDirName.equals(HConstants.HREGION_LOGDIR_NAME)) {<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      logDirName = logFile.getName();<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    try {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>      serverName = ServerName.parseServerName(logDirName);<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    } catch (IllegalArgumentException|IllegalStateException ex) {<a name="line.349"></a>
-<span class="sourceLineNo">350</span>      serverName = null;<a name="line.350"></a>
-<span class="sourceLineNo">351</span>      LOG.warn("Cannot parse a server name from path=" + logFile + "; " + ex.getMessage());<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>    if (serverName != null &amp;&amp; serverName.getStartcode() &lt; 0) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      LOG.warn("Invalid log file path=" + logFile);<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      serverName = null;<a name="line.355"></a>
+<span class="sourceLineNo">347</span>    ServerName serverName = null;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    if (logDirName.endsWith(SPLITTING_EXT)) {<a name="line.348"></a>
+<span class="sourceLineNo">349</span>      logDirName = logDirName.substring(0, logDirName.length() - SPLITTING_EXT.length());<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    }<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    try {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      serverName = ServerName.parseServerName(logDirName);<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    } catch (IllegalArgumentException|IllegalStateException ex) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>      serverName = null;<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      LOG.warn("Cannot parse a server name from path=" + logFile + "; " + ex.getMessage());<a name="line.355"></a>
 <span class="sourceLineNo">356</span>    }<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    return serverName;<a name="line.357"></a>
-<span class="sourceLineNo">358</span>  }<a name="line.358"></a>
-<span class="sourceLineNo">359</span><a name="line.359"></a>
-<span class="sourceLineNo">360</span>  public static boolean isMetaFile(Path p) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    return isMetaFile(p.getName());<a name="line.361"></a>
+<span class="sourceLineNo">357</span>    if (serverName != null &amp;&amp; serverName.getStartcode() &lt; 0) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>      LOG.warn("Invalid log file path=" + logFile);<a name="line.358"></a>
+<span class="sourceLineNo">359</span>      serverName = null;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    return serverName;<a name="line.361"></a>
 <span class="sourceLineNo">362</span>  }<a name="line.362"></a>
 <span class="sourceLineNo">363</span><a name="line.363"></a>
-<span class="sourceLineNo">364</span>  public static boolean isMetaFile(String p) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    if (p != null &amp;&amp; p.endsWith(META_WAL_PROVIDER_ID)) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span>      return true;<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    }<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    return false;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>  }<a name="line.369"></a>
-<span class="sourceLineNo">370</span><a name="line.370"></a>
-<span class="sourceLineNo">371</span>  public static boolean isArchivedLogFile(Path p) {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    String oldLog = Path.SEPARATOR + HConstants.HREGION_OLDLOGDIR_NAME + Path.SEPARATOR;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    return p.toString().contains(oldLog);<a name="line.373"></a>
-<span class="sourceLineNo">374</span>  }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>  /**<a name="line.376"></a>
-<span class="sourceLineNo">377</span>   * Get prefix of the log from its name, assuming WAL name in format of<a name="line.377"></a>
-<span class="sourceLineNo">378</span>   * log_prefix.filenumber.log_suffix<a name="line.378"></a>
-<span class="sourceLineNo">379</span>   * @param name Name of the WAL to parse<a name="line.379"></a>
-<span class="sourceLineNo">380</span>   * @return prefix of the log<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * @see AbstractFSWAL#getCurrentFileName()<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   */<a name="line.382"></a>
-<span class="sourceLineNo">383</span>  public static String getWALPrefixFromWALName(String name) {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    int endIndex = name.replaceAll(META_WAL_PROVIDER_ID, "").lastIndexOf(".");<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    return name.substring(0, endIndex);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  }<a name="line.386"></a>
-<span class="sourceLineNo">387</span>}<a name="line.387"></a>
+<span class="sourceLineNo">364</span>  public static boolean isMetaFile(Path p) {<a name="line.364"></a>
+<span class="sourceLineNo">365</span>    return isMetaFile(p.getName());<a name="line.365"></a>
+<span class="sourceLineNo">366</span>  }<a name="line.366"></a>
+<span class="sourceLineNo">367</span><a name="line.367"></a>
+<span class="sourceLineNo">368</span>  public static boolean isMetaFile(String p) {<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    if (p != null &amp;&amp; p.endsWith(META_WAL_PROVIDER_ID)) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span>      return true;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    }<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    return false;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
+<span class="sourceLineNo">374</span><a name="line.374"></a>
+<span class="sourceLineNo">375</span>  public static boolean isArchivedLogFile(Path p) {<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    String oldLog = Path.SEPARATOR + HConstants.HREGION_OLDLOGDIR_NAME + Path.SEPARATOR;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    return p.toString().contains(oldLog);<a name="line.377"></a>
+<span class="sourceLineNo">378</span>  }<a name="line.378"></a>
+<span class="sourceLineNo">379</span><a name="line.379"></a>
+<span class="sourceLineNo">380</span>  /**<a name="line.380"></a>
+<span class="sourceLineNo">381</span>   * Get the archived WAL file path<a name="line.381"></a>
+<span class="sourceLineNo">382</span>   * @param path - active WAL file path<a name="line.382"></a>
+<span class="sourceLineNo">383</span>   * @param conf - configuration<a name="line.383"></a>
+<span class="sourceLineNo">384</span>   * @return archived path if exists, path - otherwise<a name="line.384"></a>
+<span class="sourceLineNo">385</span>   * @throws IOException exception<a name="line.385"></a>
+<span class="sourceLineNo">386</span>   */<a name="line.386"></a>
+<span class="sourceLineNo">387</span>  public static Path getArchivedLogPath(Path path, Configuration conf) throws IOException {<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    Path rootDir = FSUtils.getRootDir(conf);<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    Path oldLogDir = new Path(rootDir, HConstants.HREGION_OLDLOGDIR_NAME);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    Path archivedLogLocation = new Path(oldLogDir, path.getName());<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    final FileSystem fs = FSUtils.getCurrentFileSystem(conf);<a name="line.391"></a>
+<span class="sourceLineNo">392</span><a name="line.392"></a>
+<span class="sourceLineNo">393</span>    if (fs.exists(archivedLogLocation)) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      LOG.info("Log " + path + " was moved to " + archivedLogLocation);<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      return archivedLogLocation;<a name="line.395"></a>
+<span class="sourceLineNo">396</span>    } else {<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      LOG.error("Couldn't locate log: " + path);<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      return path;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>    }<a name="line.399"></a>
+<span class="sourceLineNo">400</span>  }<a name="line.400"></a>
+<span class="sourceLineNo">401</span><a name="line.401"></a>
+<span class="sourceLineNo">402</span>  /**<a name="line.402"></a>
+<span class="sourceLineNo">403</span>   * Opens WAL reader with retries and<a name="line.403"></a>
+<span class="sourceLineNo">404</span>   * additional exception handling<a name="line.404"></a>
+<span class="sourceLineNo">405</span>   * @param path path to WAL file<a name="line.405"></a>
+<span class="sourceLineNo">406</span>   * @param conf configuration<a name="line.406"></a>
+<span class="sourceLineNo">407</span>   * @return WAL Reader instance<a name="line.407"></a>
+<span class="sourceLineNo">408</span>   * @throws IOException<a name="line.408"></a>
+<span class="sourceLineNo">409</span>   */<a name="line.409"></a>
+<span class="sourceLineNo">410</span>  public static org.apache.hadoop.hbase.wal.WAL.Reader<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    openReader(Path path, Configuration conf)<a name="line.411"></a>
+<span class="sourceLineNo">412</span>        throws IOException<a name="line.412"></a>
+<span class="sourceLineNo">413</span><a name="line.413"></a>
+<span class="sourceLineNo">414</span>  {<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    long retryInterval = 2000; // 2 sec<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    int maxAttempts = 30;<a name="line.416"></a>
+<span class="sourceLineNo">417</span>    int attempt = 0;<a name="line.417"></a>
+<span class="sourceLineNo">418</span>    Exception ee = null;<a name="line.418"></a>
+<span class="sourceLineNo">419</span>    org.apache.hadoop.hbase.wal.WAL.Reader reader = null;<a name="line.419"></a>
+<span class="sourceLineNo">420</span>    while (reader == null &amp;&amp; attempt++ &lt; maxAttempts) {<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      try {<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        // Detect if this is a new file, if so get a new reader else<a name="line.422"></a>
+<span class="sourceLineNo">423</span>        // reset the current reader so that we see the new data<a name="line.423"></a>
+<span class="sourceLineNo">424</span>        reader = WALFactory.createReader(path.getFileSystem(conf), path, conf);<a name="line.424"></a>
+<span class="sourceLineNo">425</span>        return reader;<a name="line.425"></a>
+<span class="sourceLineNo">426</span>      } catch (FileNotFoundException fnfe) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        // If the log was archived, continue reading from there<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Path archivedLog = AbstractFSWALProvider.getArchivedLogPath(path, conf);<a name="line.428"></a>
+<span class="sourceLineNo">429</span>        if (path != archivedLog) {<a name="line.429"></a>
+<span class="sourceLineNo">430</span>          return openReader(archivedLog, conf);<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        } else {<a name="line.431"></a>
+<span class="sourceLineNo">432</span>          throw fnfe;<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        }<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      } catch (LeaseNotRecoveredException lnre) {<a name="line.434"></a>
+<span class="sourceLineNo">435</span>        // HBASE-15019 the WAL was not closed due to some hiccup.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        LOG.warn("Try to recover the WAL lease " + path, lnre);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        recoverLease(conf, path);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        reader = null;<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        ee = lnre;<a name="line.439"></a>
+<span class="sourceLineNo">440</span>      } catch (NullPointerException npe) {<a name="line.440"></a>
+<span class="sourceLineNo">441</span>        // Workaround for race condition in HDFS-4380<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        // which throws a NPE if we open a file before any data node has the most recent block<a name="line.442"></a>
+<span class="sourceLineNo">443</span>        // Just sleep and retry. Will require re-reading compressed WALs for compressionContext.<a name="line.443"></a>
+<span class="sourceLineNo">444</span>        LOG.warn("Got NPE opening reader, will retry.");<a name="line.444"></a>
+<span class="sourceLineNo">445</span>        reader = null;<a name="line.445"></a>
+<span class="sourceLineNo">446</span>        ee = npe;<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      }<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      if (reader == null) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>        // sleep before next attempt<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        try {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          Thread.sleep(retryInterval);<a name="line.451"></a>
+<span class="sourceLineNo">452</span>        } catch (InterruptedException e) {<a name="line.452"></a>
+<span class="sourceLineNo">453</span>        }<a name="line.453"></a>
+<span class="sourceLineNo">454</span>      }<a name="line.454"></a>
+<span class="sourceLineNo">455</span>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span>    throw new IOException("Could not open reader", ee);<a name="line.456"></a>
+<span class="sourceLineNo">457</span>  }<a name="line.457"></a>
+<span class="sourceLineNo">458</span><a name="line.458"></a>
+<span class="sourceLineNo">459</span>  // For HBASE-15019<a name="line.459"></a>
+<span class="sourceLineNo">460</span>  private static void recoverLease(final Configuration conf, final Path path) {<a name="line.460"></a>
+<span class="sourceLineNo">461</span>    try {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      final FileSystem dfs = FSUtils.getCurrentFileSystem(conf);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      FSUtils fsUtils = FSUtils.getInstance(dfs, conf);<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      fsUtils.recoverFileLease(dfs, path, conf, new CancelableProgressable() {<a name="line.464"></a>
+<span class="sourceLineNo">465</span>        @Override<a name="line.465"></a>
+<span class="sourceLineNo">466</span>        public boolean progress() {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>          LOG.debug("Still trying to recover WAL lease: " + path);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>          return true;<a name="line.468"></a>
+<span class="sourceLineNo">469</span>        }<a name="line.469"></a>
+<span class="sourceLineNo">470</span>      });<a name="line.470"></a>
+<span class="sourceLineNo">471</span>    } catch (IOException e) {<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      LOG.warn("unable to recover lease for WAL: " + path, e);<a name="line.472"></a>
+<span class="sourceLineNo">473</span>    }<a name="line.473"></a>
+<span class="sourceLineNo">474</span>  }<a name="line.474"></a>
+<span class="sourceLineNo">475</span><a name="line.475"></a>
+<span class="sourceLineNo">476</span><a name="line.476"></a>
+<span class="sourceLineNo">477</span>  /**<a name="line.477"></a>
+<span class="sourceLineNo">478</span>   * Get prefix of the log from its name, assuming WAL name in format of<a name="line.478"></a>
+<span class="sourceLineNo">479</span>   * log_prefix.filenumber.log_suffix<a name="line.479"></a>
+<span class="sourceLineNo">480</span>   * @param name Name of the WAL to parse<a name="line.480"></a>
+<span class="sourceLineNo">481</span>   * @return prefix of the log<a name="line.481"></a>
+<span class="sourceLineNo">482</span>   * @see AbstractFSWAL#getCurrentFileName()<a name="line.482"></a>
+<span class="sourceLineNo">483</span>   */<a name="line.483"></a>
+<span class="sourceLineNo">484</span>  public static String getWALPrefixFromWALName(String name) {<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    int endIndex = name.replaceAll(META_WAL_PROVIDER_ID, "").lastIndexOf(".");<a name="line.485"></a>
+<span class="sourceLineNo">486</span>    return name.substring(0, endIndex);<a name="line.486"></a>
+<span class="sourceLineNo">487</span>  }<a name="line.487"></a>
+<span class="sourceLineNo">488</span>}<a name="line.488"></a>