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 2018/11/02 14:53:36 UTC

[12/27] hbase-site git commit: Published site at e7f6c2972dba2bc1eff8a5ae39893603508336ea.

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.KeyBeforeConcatenatedLists.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.KeyBeforeConcatenatedLists.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.KeyBeforeConcatenatedLists.html
index 88a820a..7332a83 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.KeyBeforeConcatenatedLists.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.KeyBeforeConcatenatedLists.html
@@ -1004,93 +1004,95 @@
 <span class="sourceLineNo">996</span><a name="line.996"></a>
 <span class="sourceLineNo">997</span>  @Override<a name="line.997"></a>
 <span class="sourceLineNo">998</span>  public List&lt;byte[]&gt; getStripeBoundaries() {<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    if (this.state.stripeFiles.isEmpty()) return new ArrayList&lt;&gt;();<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    ArrayList&lt;byte[]&gt; result = new ArrayList&lt;&gt;(this.state.stripeEndRows.length + 2);<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    result.add(OPEN_KEY);<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    Collections.addAll(result, this.state.stripeEndRows);<a name="line.1002"></a>
+<span class="sourceLineNo">999</span>    if (this.state.stripeFiles.isEmpty()) {<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>      return Collections.emptyList();<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>    }<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>    ArrayList&lt;byte[]&gt; result = new ArrayList&lt;&gt;(this.state.stripeEndRows.length + 2);<a name="line.1002"></a>
 <span class="sourceLineNo">1003</span>    result.add(OPEN_KEY);<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    return result;<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>  }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span><a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>  @Override<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  public ArrayList&lt;ImmutableList&lt;HStoreFile&gt;&gt; getStripes() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>    return this.state.stripeFiles;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>  }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>  @Override<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>  public int getStripeCount() {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    return this.state.stripeFiles.size();<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>  }<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span><a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>  @Override<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  public Collection&lt;HStoreFile&gt; getUnneededFiles(long maxTs, List&lt;HStoreFile&gt; filesCompacting) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>    // 1) We can never get rid of the last file which has the maximum seqid in a stripe.<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    // 2) Files that are not the latest can't become one due to (1), so the rest are fair game.<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>    State state = this.state;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    Collection&lt;HStoreFile&gt; expiredStoreFiles = null;<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>    for (ImmutableList&lt;HStoreFile&gt; stripe : state.stripeFiles) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>      expiredStoreFiles = findExpiredFiles(stripe, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>    }<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    return findExpiredFiles(state.level0Files, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>  }<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span><a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>  private Collection&lt;HStoreFile&gt; findExpiredFiles(ImmutableList&lt;HStoreFile&gt; stripe, long maxTs,<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>      List&lt;HStoreFile&gt; filesCompacting, Collection&lt;HStoreFile&gt; expiredStoreFiles) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>    // Order by seqnum is reversed.<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    for (int i = 1; i &lt; stripe.size(); ++i) {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      HStoreFile sf = stripe.get(i);<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>      synchronized (sf) {<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>        long fileTs = sf.getReader().getMaxTimestamp();<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>        if (fileTs &lt; maxTs &amp;&amp; !filesCompacting.contains(sf)) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>          LOG.info("Found an expired store file: " + sf.getPath() + " whose maxTimestamp is "<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>              + fileTs + ", which is below " + maxTs);<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>          if (expiredStoreFiles == null) {<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>            expiredStoreFiles = new ArrayList&lt;&gt;();<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>          }<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>          expiredStoreFiles.add(sf);<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>        }<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>      }<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>    }<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    return expiredStoreFiles;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>  }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span><a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>  @Override<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  public double getCompactionPressure() {<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>    State stateLocal = this.state;<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>    if (stateLocal.allFilesCached.size() &gt; blockingFileCount) {<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>      // just a hit to tell others that we have reached the blocking file count.<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>      return 2.0;<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>    }<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>    if (stateLocal.stripeFiles.isEmpty()) {<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>      return 0.0;<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    }<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    int blockingFilePerStripe = blockingFileCount / stateLocal.stripeFiles.size();<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    // do not calculate L0 separately because data will be moved to stripe quickly and in most cases<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    // we flush data to stripe directly.<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    int delta = stateLocal.level0Files.isEmpty() ? 0 : 1;<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    double max = 0.0;<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    for (ImmutableList&lt;HStoreFile&gt; stripeFile : stateLocal.stripeFiles) {<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>      int stripeFileCount = stripeFile.size();<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>      double normCount =<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>          (double) (stripeFileCount + delta - config.getStripeCompactMinFiles())<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>              / (blockingFilePerStripe - config.getStripeCompactMinFiles());<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      if (normCount &gt;= 1.0) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        // This could happen if stripe is not split evenly. Do not return values that larger than<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>        // 1.0 because we have not reached the blocking file count actually.<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        return 1.0;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>      }<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>      if (normCount &gt; max) {<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>        max = normCount;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>      }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    }<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    return max;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>  }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>  @Override<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>  public Comparator&lt;HStoreFile&gt; getStoreFileComparator() {<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>    return StoreFileComparators.SEQ_ID;<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>  }<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>}<a name="line.1085"></a>
+<span class="sourceLineNo">1004</span>    Collections.addAll(result, this.state.stripeEndRows);<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>    result.add(OPEN_KEY);<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>    return result;<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>  }<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span><a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>  @Override<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>  public ArrayList&lt;ImmutableList&lt;HStoreFile&gt;&gt; getStripes() {<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>    return this.state.stripeFiles;<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>  }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span><a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>  @Override<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>  public int getStripeCount() {<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>    return this.state.stripeFiles.size();<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>  }<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span><a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>  @Override<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>  public Collection&lt;HStoreFile&gt; getUnneededFiles(long maxTs, List&lt;HStoreFile&gt; filesCompacting) {<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>    // 1) We can never get rid of the last file which has the maximum seqid in a stripe.<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>    // 2) Files that are not the latest can't become one due to (1), so the rest are fair game.<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>    State state = this.state;<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>    Collection&lt;HStoreFile&gt; expiredStoreFiles = null;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>    for (ImmutableList&lt;HStoreFile&gt; stripe : state.stripeFiles) {<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>      expiredStoreFiles = findExpiredFiles(stripe, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>    }<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>    return findExpiredFiles(state.level0Files, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>  }<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span><a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>  private Collection&lt;HStoreFile&gt; findExpiredFiles(ImmutableList&lt;HStoreFile&gt; stripe, long maxTs,<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>      List&lt;HStoreFile&gt; filesCompacting, Collection&lt;HStoreFile&gt; expiredStoreFiles) {<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>    // Order by seqnum is reversed.<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>    for (int i = 1; i &lt; stripe.size(); ++i) {<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>      HStoreFile sf = stripe.get(i);<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>      synchronized (sf) {<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>        long fileTs = sf.getReader().getMaxTimestamp();<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>        if (fileTs &lt; maxTs &amp;&amp; !filesCompacting.contains(sf)) {<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>          LOG.info("Found an expired store file: " + sf.getPath() + " whose maxTimestamp is "<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>              + fileTs + ", which is below " + maxTs);<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>          if (expiredStoreFiles == null) {<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>            expiredStoreFiles = new ArrayList&lt;&gt;();<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>          }<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>          expiredStoreFiles.add(sf);<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>        }<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>      }<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>    }<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>    return expiredStoreFiles;<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>  }<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span><a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>  @Override<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>  public double getCompactionPressure() {<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>    State stateLocal = this.state;<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>    if (stateLocal.allFilesCached.size() &gt; blockingFileCount) {<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>      // just a hit to tell others that we have reached the blocking file count.<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>      return 2.0;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>    }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>    if (stateLocal.stripeFiles.isEmpty()) {<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>      return 0.0;<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>    }<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>    int blockingFilePerStripe = blockingFileCount / stateLocal.stripeFiles.size();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>    // do not calculate L0 separately because data will be moved to stripe quickly and in most cases<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>    // we flush data to stripe directly.<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>    int delta = stateLocal.level0Files.isEmpty() ? 0 : 1;<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>    double max = 0.0;<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>    for (ImmutableList&lt;HStoreFile&gt; stripeFile : stateLocal.stripeFiles) {<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>      int stripeFileCount = stripeFile.size();<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>      double normCount =<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>          (double) (stripeFileCount + delta - config.getStripeCompactMinFiles())<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>              / (blockingFilePerStripe - config.getStripeCompactMinFiles());<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>      if (normCount &gt;= 1.0) {<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>        // This could happen if stripe is not split evenly. Do not return values that larger than<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>        // 1.0 because we have not reached the blocking file count actually.<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>        return 1.0;<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>      if (normCount &gt; max) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>        max = normCount;<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>      }<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>    }<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>    return max;<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>  }<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span><a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>  @Override<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>  public Comparator&lt;HStoreFile&gt; getStoreFileComparator() {<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>    return StoreFileComparators.SEQ_ID;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>  }<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>}<a name="line.1087"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.State.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.State.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.State.html
index 88a820a..7332a83 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.State.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.State.html
@@ -1004,93 +1004,95 @@
 <span class="sourceLineNo">996</span><a name="line.996"></a>
 <span class="sourceLineNo">997</span>  @Override<a name="line.997"></a>
 <span class="sourceLineNo">998</span>  public List&lt;byte[]&gt; getStripeBoundaries() {<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    if (this.state.stripeFiles.isEmpty()) return new ArrayList&lt;&gt;();<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    ArrayList&lt;byte[]&gt; result = new ArrayList&lt;&gt;(this.state.stripeEndRows.length + 2);<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    result.add(OPEN_KEY);<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    Collections.addAll(result, this.state.stripeEndRows);<a name="line.1002"></a>
+<span class="sourceLineNo">999</span>    if (this.state.stripeFiles.isEmpty()) {<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>      return Collections.emptyList();<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>    }<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>    ArrayList&lt;byte[]&gt; result = new ArrayList&lt;&gt;(this.state.stripeEndRows.length + 2);<a name="line.1002"></a>
 <span class="sourceLineNo">1003</span>    result.add(OPEN_KEY);<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    return result;<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>  }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span><a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>  @Override<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  public ArrayList&lt;ImmutableList&lt;HStoreFile&gt;&gt; getStripes() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>    return this.state.stripeFiles;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>  }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>  @Override<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>  public int getStripeCount() {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    return this.state.stripeFiles.size();<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>  }<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span><a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>  @Override<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  public Collection&lt;HStoreFile&gt; getUnneededFiles(long maxTs, List&lt;HStoreFile&gt; filesCompacting) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>    // 1) We can never get rid of the last file which has the maximum seqid in a stripe.<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    // 2) Files that are not the latest can't become one due to (1), so the rest are fair game.<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>    State state = this.state;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    Collection&lt;HStoreFile&gt; expiredStoreFiles = null;<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>    for (ImmutableList&lt;HStoreFile&gt; stripe : state.stripeFiles) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>      expiredStoreFiles = findExpiredFiles(stripe, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>    }<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    return findExpiredFiles(state.level0Files, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>  }<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span><a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>  private Collection&lt;HStoreFile&gt; findExpiredFiles(ImmutableList&lt;HStoreFile&gt; stripe, long maxTs,<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>      List&lt;HStoreFile&gt; filesCompacting, Collection&lt;HStoreFile&gt; expiredStoreFiles) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>    // Order by seqnum is reversed.<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    for (int i = 1; i &lt; stripe.size(); ++i) {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      HStoreFile sf = stripe.get(i);<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>      synchronized (sf) {<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>        long fileTs = sf.getReader().getMaxTimestamp();<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>        if (fileTs &lt; maxTs &amp;&amp; !filesCompacting.contains(sf)) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>          LOG.info("Found an expired store file: " + sf.getPath() + " whose maxTimestamp is "<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>              + fileTs + ", which is below " + maxTs);<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>          if (expiredStoreFiles == null) {<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>            expiredStoreFiles = new ArrayList&lt;&gt;();<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>          }<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>          expiredStoreFiles.add(sf);<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>        }<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>      }<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>    }<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    return expiredStoreFiles;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>  }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span><a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>  @Override<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  public double getCompactionPressure() {<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>    State stateLocal = this.state;<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>    if (stateLocal.allFilesCached.size() &gt; blockingFileCount) {<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>      // just a hit to tell others that we have reached the blocking file count.<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>      return 2.0;<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>    }<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>    if (stateLocal.stripeFiles.isEmpty()) {<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>      return 0.0;<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    }<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    int blockingFilePerStripe = blockingFileCount / stateLocal.stripeFiles.size();<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    // do not calculate L0 separately because data will be moved to stripe quickly and in most cases<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    // we flush data to stripe directly.<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    int delta = stateLocal.level0Files.isEmpty() ? 0 : 1;<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    double max = 0.0;<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    for (ImmutableList&lt;HStoreFile&gt; stripeFile : stateLocal.stripeFiles) {<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>      int stripeFileCount = stripeFile.size();<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>      double normCount =<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>          (double) (stripeFileCount + delta - config.getStripeCompactMinFiles())<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>              / (blockingFilePerStripe - config.getStripeCompactMinFiles());<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      if (normCount &gt;= 1.0) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        // This could happen if stripe is not split evenly. Do not return values that larger than<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>        // 1.0 because we have not reached the blocking file count actually.<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        return 1.0;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>      }<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>      if (normCount &gt; max) {<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>        max = normCount;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>      }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    }<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    return max;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>  }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>  @Override<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>  public Comparator&lt;HStoreFile&gt; getStoreFileComparator() {<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>    return StoreFileComparators.SEQ_ID;<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>  }<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>}<a name="line.1085"></a>
+<span class="sourceLineNo">1004</span>    Collections.addAll(result, this.state.stripeEndRows);<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>    result.add(OPEN_KEY);<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>    return result;<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>  }<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span><a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>  @Override<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>  public ArrayList&lt;ImmutableList&lt;HStoreFile&gt;&gt; getStripes() {<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>    return this.state.stripeFiles;<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>  }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span><a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>  @Override<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>  public int getStripeCount() {<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>    return this.state.stripeFiles.size();<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>  }<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span><a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>  @Override<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>  public Collection&lt;HStoreFile&gt; getUnneededFiles(long maxTs, List&lt;HStoreFile&gt; filesCompacting) {<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>    // 1) We can never get rid of the last file which has the maximum seqid in a stripe.<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>    // 2) Files that are not the latest can't become one due to (1), so the rest are fair game.<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>    State state = this.state;<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>    Collection&lt;HStoreFile&gt; expiredStoreFiles = null;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>    for (ImmutableList&lt;HStoreFile&gt; stripe : state.stripeFiles) {<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>      expiredStoreFiles = findExpiredFiles(stripe, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>    }<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>    return findExpiredFiles(state.level0Files, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>  }<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span><a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>  private Collection&lt;HStoreFile&gt; findExpiredFiles(ImmutableList&lt;HStoreFile&gt; stripe, long maxTs,<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>      List&lt;HStoreFile&gt; filesCompacting, Collection&lt;HStoreFile&gt; expiredStoreFiles) {<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>    // Order by seqnum is reversed.<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>    for (int i = 1; i &lt; stripe.size(); ++i) {<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>      HStoreFile sf = stripe.get(i);<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>      synchronized (sf) {<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>        long fileTs = sf.getReader().getMaxTimestamp();<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>        if (fileTs &lt; maxTs &amp;&amp; !filesCompacting.contains(sf)) {<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>          LOG.info("Found an expired store file: " + sf.getPath() + " whose maxTimestamp is "<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>              + fileTs + ", which is below " + maxTs);<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>          if (expiredStoreFiles == null) {<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>            expiredStoreFiles = new ArrayList&lt;&gt;();<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>          }<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>          expiredStoreFiles.add(sf);<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>        }<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>      }<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>    }<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>    return expiredStoreFiles;<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>  }<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span><a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>  @Override<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>  public double getCompactionPressure() {<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>    State stateLocal = this.state;<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>    if (stateLocal.allFilesCached.size() &gt; blockingFileCount) {<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>      // just a hit to tell others that we have reached the blocking file count.<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>      return 2.0;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>    }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>    if (stateLocal.stripeFiles.isEmpty()) {<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>      return 0.0;<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>    }<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>    int blockingFilePerStripe = blockingFileCount / stateLocal.stripeFiles.size();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>    // do not calculate L0 separately because data will be moved to stripe quickly and in most cases<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>    // we flush data to stripe directly.<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>    int delta = stateLocal.level0Files.isEmpty() ? 0 : 1;<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>    double max = 0.0;<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>    for (ImmutableList&lt;HStoreFile&gt; stripeFile : stateLocal.stripeFiles) {<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>      int stripeFileCount = stripeFile.size();<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>      double normCount =<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>          (double) (stripeFileCount + delta - config.getStripeCompactMinFiles())<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>              / (blockingFilePerStripe - config.getStripeCompactMinFiles());<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>      if (normCount &gt;= 1.0) {<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>        // This could happen if stripe is not split evenly. Do not return values that larger than<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>        // 1.0 because we have not reached the blocking file count actually.<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>        return 1.0;<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>      if (normCount &gt; max) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>        max = normCount;<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>      }<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>    }<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>    return max;<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>  }<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span><a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>  @Override<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>  public Comparator&lt;HStoreFile&gt; getStoreFileComparator() {<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>    return StoreFileComparators.SEQ_ID;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>  }<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>}<a name="line.1087"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html
index 88a820a..7332a83 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.html
@@ -1004,93 +1004,95 @@
 <span class="sourceLineNo">996</span><a name="line.996"></a>
 <span class="sourceLineNo">997</span>  @Override<a name="line.997"></a>
 <span class="sourceLineNo">998</span>  public List&lt;byte[]&gt; getStripeBoundaries() {<a name="line.998"></a>
-<span class="sourceLineNo">999</span>    if (this.state.stripeFiles.isEmpty()) return new ArrayList&lt;&gt;();<a name="line.999"></a>
-<span class="sourceLineNo">1000</span>    ArrayList&lt;byte[]&gt; result = new ArrayList&lt;&gt;(this.state.stripeEndRows.length + 2);<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span>    result.add(OPEN_KEY);<a name="line.1001"></a>
-<span class="sourceLineNo">1002</span>    Collections.addAll(result, this.state.stripeEndRows);<a name="line.1002"></a>
+<span class="sourceLineNo">999</span>    if (this.state.stripeFiles.isEmpty()) {<a name="line.999"></a>
+<span class="sourceLineNo">1000</span>      return Collections.emptyList();<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span>    }<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span>    ArrayList&lt;byte[]&gt; result = new ArrayList&lt;&gt;(this.state.stripeEndRows.length + 2);<a name="line.1002"></a>
 <span class="sourceLineNo">1003</span>    result.add(OPEN_KEY);<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span>    return result;<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span>  }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span><a name="line.1006"></a>
-<span class="sourceLineNo">1007</span>  @Override<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span>  public ArrayList&lt;ImmutableList&lt;HStoreFile&gt;&gt; getStripes() {<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span>    return this.state.stripeFiles;<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span>  }<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span><a name="line.1011"></a>
-<span class="sourceLineNo">1012</span>  @Override<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span>  public int getStripeCount() {<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span>    return this.state.stripeFiles.size();<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span>  }<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span><a name="line.1016"></a>
-<span class="sourceLineNo">1017</span>  @Override<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span>  public Collection&lt;HStoreFile&gt; getUnneededFiles(long maxTs, List&lt;HStoreFile&gt; filesCompacting) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span>    // 1) We can never get rid of the last file which has the maximum seqid in a stripe.<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span>    // 2) Files that are not the latest can't become one due to (1), so the rest are fair game.<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span>    State state = this.state;<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span>    Collection&lt;HStoreFile&gt; expiredStoreFiles = null;<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span>    for (ImmutableList&lt;HStoreFile&gt; stripe : state.stripeFiles) {<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span>      expiredStoreFiles = findExpiredFiles(stripe, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>    }<a name="line.1025"></a>
-<span class="sourceLineNo">1026</span>    return findExpiredFiles(state.level0Files, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1026"></a>
-<span class="sourceLineNo">1027</span>  }<a name="line.1027"></a>
-<span class="sourceLineNo">1028</span><a name="line.1028"></a>
-<span class="sourceLineNo">1029</span>  private Collection&lt;HStoreFile&gt; findExpiredFiles(ImmutableList&lt;HStoreFile&gt; stripe, long maxTs,<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span>      List&lt;HStoreFile&gt; filesCompacting, Collection&lt;HStoreFile&gt; expiredStoreFiles) {<a name="line.1030"></a>
-<span class="sourceLineNo">1031</span>    // Order by seqnum is reversed.<a name="line.1031"></a>
-<span class="sourceLineNo">1032</span>    for (int i = 1; i &lt; stripe.size(); ++i) {<a name="line.1032"></a>
-<span class="sourceLineNo">1033</span>      HStoreFile sf = stripe.get(i);<a name="line.1033"></a>
-<span class="sourceLineNo">1034</span>      synchronized (sf) {<a name="line.1034"></a>
-<span class="sourceLineNo">1035</span>        long fileTs = sf.getReader().getMaxTimestamp();<a name="line.1035"></a>
-<span class="sourceLineNo">1036</span>        if (fileTs &lt; maxTs &amp;&amp; !filesCompacting.contains(sf)) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>          LOG.info("Found an expired store file: " + sf.getPath() + " whose maxTimestamp is "<a name="line.1037"></a>
-<span class="sourceLineNo">1038</span>              + fileTs + ", which is below " + maxTs);<a name="line.1038"></a>
-<span class="sourceLineNo">1039</span>          if (expiredStoreFiles == null) {<a name="line.1039"></a>
-<span class="sourceLineNo">1040</span>            expiredStoreFiles = new ArrayList&lt;&gt;();<a name="line.1040"></a>
-<span class="sourceLineNo">1041</span>          }<a name="line.1041"></a>
-<span class="sourceLineNo">1042</span>          expiredStoreFiles.add(sf);<a name="line.1042"></a>
-<span class="sourceLineNo">1043</span>        }<a name="line.1043"></a>
-<span class="sourceLineNo">1044</span>      }<a name="line.1044"></a>
-<span class="sourceLineNo">1045</span>    }<a name="line.1045"></a>
-<span class="sourceLineNo">1046</span>    return expiredStoreFiles;<a name="line.1046"></a>
-<span class="sourceLineNo">1047</span>  }<a name="line.1047"></a>
-<span class="sourceLineNo">1048</span><a name="line.1048"></a>
-<span class="sourceLineNo">1049</span>  @Override<a name="line.1049"></a>
-<span class="sourceLineNo">1050</span>  public double getCompactionPressure() {<a name="line.1050"></a>
-<span class="sourceLineNo">1051</span>    State stateLocal = this.state;<a name="line.1051"></a>
-<span class="sourceLineNo">1052</span>    if (stateLocal.allFilesCached.size() &gt; blockingFileCount) {<a name="line.1052"></a>
-<span class="sourceLineNo">1053</span>      // just a hit to tell others that we have reached the blocking file count.<a name="line.1053"></a>
-<span class="sourceLineNo">1054</span>      return 2.0;<a name="line.1054"></a>
-<span class="sourceLineNo">1055</span>    }<a name="line.1055"></a>
-<span class="sourceLineNo">1056</span>    if (stateLocal.stripeFiles.isEmpty()) {<a name="line.1056"></a>
-<span class="sourceLineNo">1057</span>      return 0.0;<a name="line.1057"></a>
-<span class="sourceLineNo">1058</span>    }<a name="line.1058"></a>
-<span class="sourceLineNo">1059</span>    int blockingFilePerStripe = blockingFileCount / stateLocal.stripeFiles.size();<a name="line.1059"></a>
-<span class="sourceLineNo">1060</span>    // do not calculate L0 separately because data will be moved to stripe quickly and in most cases<a name="line.1060"></a>
-<span class="sourceLineNo">1061</span>    // we flush data to stripe directly.<a name="line.1061"></a>
-<span class="sourceLineNo">1062</span>    int delta = stateLocal.level0Files.isEmpty() ? 0 : 1;<a name="line.1062"></a>
-<span class="sourceLineNo">1063</span>    double max = 0.0;<a name="line.1063"></a>
-<span class="sourceLineNo">1064</span>    for (ImmutableList&lt;HStoreFile&gt; stripeFile : stateLocal.stripeFiles) {<a name="line.1064"></a>
-<span class="sourceLineNo">1065</span>      int stripeFileCount = stripeFile.size();<a name="line.1065"></a>
-<span class="sourceLineNo">1066</span>      double normCount =<a name="line.1066"></a>
-<span class="sourceLineNo">1067</span>          (double) (stripeFileCount + delta - config.getStripeCompactMinFiles())<a name="line.1067"></a>
-<span class="sourceLineNo">1068</span>              / (blockingFilePerStripe - config.getStripeCompactMinFiles());<a name="line.1068"></a>
-<span class="sourceLineNo">1069</span>      if (normCount &gt;= 1.0) {<a name="line.1069"></a>
-<span class="sourceLineNo">1070</span>        // This could happen if stripe is not split evenly. Do not return values that larger than<a name="line.1070"></a>
-<span class="sourceLineNo">1071</span>        // 1.0 because we have not reached the blocking file count actually.<a name="line.1071"></a>
-<span class="sourceLineNo">1072</span>        return 1.0;<a name="line.1072"></a>
-<span class="sourceLineNo">1073</span>      }<a name="line.1073"></a>
-<span class="sourceLineNo">1074</span>      if (normCount &gt; max) {<a name="line.1074"></a>
-<span class="sourceLineNo">1075</span>        max = normCount;<a name="line.1075"></a>
-<span class="sourceLineNo">1076</span>      }<a name="line.1076"></a>
-<span class="sourceLineNo">1077</span>    }<a name="line.1077"></a>
-<span class="sourceLineNo">1078</span>    return max;<a name="line.1078"></a>
-<span class="sourceLineNo">1079</span>  }<a name="line.1079"></a>
-<span class="sourceLineNo">1080</span><a name="line.1080"></a>
-<span class="sourceLineNo">1081</span>  @Override<a name="line.1081"></a>
-<span class="sourceLineNo">1082</span>  public Comparator&lt;HStoreFile&gt; getStoreFileComparator() {<a name="line.1082"></a>
-<span class="sourceLineNo">1083</span>    return StoreFileComparators.SEQ_ID;<a name="line.1083"></a>
-<span class="sourceLineNo">1084</span>  }<a name="line.1084"></a>
-<span class="sourceLineNo">1085</span>}<a name="line.1085"></a>
+<span class="sourceLineNo">1004</span>    Collections.addAll(result, this.state.stripeEndRows);<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span>    result.add(OPEN_KEY);<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span>    return result;<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span>  }<a name="line.1007"></a>
+<span class="sourceLineNo">1008</span><a name="line.1008"></a>
+<span class="sourceLineNo">1009</span>  @Override<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span>  public ArrayList&lt;ImmutableList&lt;HStoreFile&gt;&gt; getStripes() {<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span>    return this.state.stripeFiles;<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span>  }<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span><a name="line.1013"></a>
+<span class="sourceLineNo">1014</span>  @Override<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span>  public int getStripeCount() {<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span>    return this.state.stripeFiles.size();<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span>  }<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span><a name="line.1018"></a>
+<span class="sourceLineNo">1019</span>  @Override<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span>  public Collection&lt;HStoreFile&gt; getUnneededFiles(long maxTs, List&lt;HStoreFile&gt; filesCompacting) {<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span>    // 1) We can never get rid of the last file which has the maximum seqid in a stripe.<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span>    // 2) Files that are not the latest can't become one due to (1), so the rest are fair game.<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span>    State state = this.state;<a name="line.1023"></a>
+<span class="sourceLineNo">1024</span>    Collection&lt;HStoreFile&gt; expiredStoreFiles = null;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span>    for (ImmutableList&lt;HStoreFile&gt; stripe : state.stripeFiles) {<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>      expiredStoreFiles = findExpiredFiles(stripe, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1026"></a>
+<span class="sourceLineNo">1027</span>    }<a name="line.1027"></a>
+<span class="sourceLineNo">1028</span>    return findExpiredFiles(state.level0Files, maxTs, filesCompacting, expiredStoreFiles);<a name="line.1028"></a>
+<span class="sourceLineNo">1029</span>  }<a name="line.1029"></a>
+<span class="sourceLineNo">1030</span><a name="line.1030"></a>
+<span class="sourceLineNo">1031</span>  private Collection&lt;HStoreFile&gt; findExpiredFiles(ImmutableList&lt;HStoreFile&gt; stripe, long maxTs,<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span>      List&lt;HStoreFile&gt; filesCompacting, Collection&lt;HStoreFile&gt; expiredStoreFiles) {<a name="line.1032"></a>
+<span class="sourceLineNo">1033</span>    // Order by seqnum is reversed.<a name="line.1033"></a>
+<span class="sourceLineNo">1034</span>    for (int i = 1; i &lt; stripe.size(); ++i) {<a name="line.1034"></a>
+<span class="sourceLineNo">1035</span>      HStoreFile sf = stripe.get(i);<a name="line.1035"></a>
+<span class="sourceLineNo">1036</span>      synchronized (sf) {<a name="line.1036"></a>
+<span class="sourceLineNo">1037</span>        long fileTs = sf.getReader().getMaxTimestamp();<a name="line.1037"></a>
+<span class="sourceLineNo">1038</span>        if (fileTs &lt; maxTs &amp;&amp; !filesCompacting.contains(sf)) {<a name="line.1038"></a>
+<span class="sourceLineNo">1039</span>          LOG.info("Found an expired store file: " + sf.getPath() + " whose maxTimestamp is "<a name="line.1039"></a>
+<span class="sourceLineNo">1040</span>              + fileTs + ", which is below " + maxTs);<a name="line.1040"></a>
+<span class="sourceLineNo">1041</span>          if (expiredStoreFiles == null) {<a name="line.1041"></a>
+<span class="sourceLineNo">1042</span>            expiredStoreFiles = new ArrayList&lt;&gt;();<a name="line.1042"></a>
+<span class="sourceLineNo">1043</span>          }<a name="line.1043"></a>
+<span class="sourceLineNo">1044</span>          expiredStoreFiles.add(sf);<a name="line.1044"></a>
+<span class="sourceLineNo">1045</span>        }<a name="line.1045"></a>
+<span class="sourceLineNo">1046</span>      }<a name="line.1046"></a>
+<span class="sourceLineNo">1047</span>    }<a name="line.1047"></a>
+<span class="sourceLineNo">1048</span>    return expiredStoreFiles;<a name="line.1048"></a>
+<span class="sourceLineNo">1049</span>  }<a name="line.1049"></a>
+<span class="sourceLineNo">1050</span><a name="line.1050"></a>
+<span class="sourceLineNo">1051</span>  @Override<a name="line.1051"></a>
+<span class="sourceLineNo">1052</span>  public double getCompactionPressure() {<a name="line.1052"></a>
+<span class="sourceLineNo">1053</span>    State stateLocal = this.state;<a name="line.1053"></a>
+<span class="sourceLineNo">1054</span>    if (stateLocal.allFilesCached.size() &gt; blockingFileCount) {<a name="line.1054"></a>
+<span class="sourceLineNo">1055</span>      // just a hit to tell others that we have reached the blocking file count.<a name="line.1055"></a>
+<span class="sourceLineNo">1056</span>      return 2.0;<a name="line.1056"></a>
+<span class="sourceLineNo">1057</span>    }<a name="line.1057"></a>
+<span class="sourceLineNo">1058</span>    if (stateLocal.stripeFiles.isEmpty()) {<a name="line.1058"></a>
+<span class="sourceLineNo">1059</span>      return 0.0;<a name="line.1059"></a>
+<span class="sourceLineNo">1060</span>    }<a name="line.1060"></a>
+<span class="sourceLineNo">1061</span>    int blockingFilePerStripe = blockingFileCount / stateLocal.stripeFiles.size();<a name="line.1061"></a>
+<span class="sourceLineNo">1062</span>    // do not calculate L0 separately because data will be moved to stripe quickly and in most cases<a name="line.1062"></a>
+<span class="sourceLineNo">1063</span>    // we flush data to stripe directly.<a name="line.1063"></a>
+<span class="sourceLineNo">1064</span>    int delta = stateLocal.level0Files.isEmpty() ? 0 : 1;<a name="line.1064"></a>
+<span class="sourceLineNo">1065</span>    double max = 0.0;<a name="line.1065"></a>
+<span class="sourceLineNo">1066</span>    for (ImmutableList&lt;HStoreFile&gt; stripeFile : stateLocal.stripeFiles) {<a name="line.1066"></a>
+<span class="sourceLineNo">1067</span>      int stripeFileCount = stripeFile.size();<a name="line.1067"></a>
+<span class="sourceLineNo">1068</span>      double normCount =<a name="line.1068"></a>
+<span class="sourceLineNo">1069</span>          (double) (stripeFileCount + delta - config.getStripeCompactMinFiles())<a name="line.1069"></a>
+<span class="sourceLineNo">1070</span>              / (blockingFilePerStripe - config.getStripeCompactMinFiles());<a name="line.1070"></a>
+<span class="sourceLineNo">1071</span>      if (normCount &gt;= 1.0) {<a name="line.1071"></a>
+<span class="sourceLineNo">1072</span>        // This could happen if stripe is not split evenly. Do not return values that larger than<a name="line.1072"></a>
+<span class="sourceLineNo">1073</span>        // 1.0 because we have not reached the blocking file count actually.<a name="line.1073"></a>
+<span class="sourceLineNo">1074</span>        return 1.0;<a name="line.1074"></a>
+<span class="sourceLineNo">1075</span>      }<a name="line.1075"></a>
+<span class="sourceLineNo">1076</span>      if (normCount &gt; max) {<a name="line.1076"></a>
+<span class="sourceLineNo">1077</span>        max = normCount;<a name="line.1077"></a>
+<span class="sourceLineNo">1078</span>      }<a name="line.1078"></a>
+<span class="sourceLineNo">1079</span>    }<a name="line.1079"></a>
+<span class="sourceLineNo">1080</span>    return max;<a name="line.1080"></a>
+<span class="sourceLineNo">1081</span>  }<a name="line.1081"></a>
+<span class="sourceLineNo">1082</span><a name="line.1082"></a>
+<span class="sourceLineNo">1083</span>  @Override<a name="line.1083"></a>
+<span class="sourceLineNo">1084</span>  public Comparator&lt;HStoreFile&gt; getStoreFileComparator() {<a name="line.1084"></a>
+<span class="sourceLineNo">1085</span>    return StoreFileComparators.SEQ_ID;<a name="line.1085"></a>
+<span class="sourceLineNo">1086</span>  }<a name="line.1086"></a>
+<span class="sourceLineNo">1087</span>}<a name="line.1087"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.BlackListDirFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.BlackListDirFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.BlackListDirFilter.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.BlackListDirFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.BlackListDirFilter.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.DirFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.DirFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.DirFilter.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.DirFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.DirFilter.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FamilyDirFilter.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FileFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FileFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FileFilter.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FileFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.FileFilter.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileFilter.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.HFileLinkFilter.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.ReferenceFileFilter.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.RegionDirFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.RegionDirFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.RegionDirFilter.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.RegionDirFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.RegionDirFilter.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.UserTableDirFilter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.UserTableDirFilter.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.UserTableDirFilter.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.UserTableDirFilter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.UserTableDirFilter.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.html
index 16acf9c..f8d08e0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/FSUtils.html
@@ -1042,7 +1042,7 @@
 <span class="sourceLineNo">1034</span>    // assumes we are in a table dir.<a name="line.1034"></a>
 <span class="sourceLineNo">1035</span>    List&lt;FileStatus&gt; rds = listStatusWithStatusFilter(fs, tableDir, new RegionDirFilter(fs));<a name="line.1035"></a>
 <span class="sourceLineNo">1036</span>    if (rds == null) {<a name="line.1036"></a>
-<span class="sourceLineNo">1037</span>      return new ArrayList&lt;&gt;();<a name="line.1037"></a>
+<span class="sourceLineNo">1037</span>      return Collections.emptyList();<a name="line.1037"></a>
 <span class="sourceLineNo">1038</span>    }<a name="line.1038"></a>
 <span class="sourceLineNo">1039</span>    List&lt;Path&gt; regionDirs = new ArrayList&lt;&gt;(rds.size());<a name="line.1039"></a>
 <span class="sourceLineNo">1040</span>    for (FileStatus rdfs: rds) {<a name="line.1040"></a>
@@ -1109,7 +1109,7 @@
 <span class="sourceLineNo">1101</span>  public static List&lt;Path&gt; getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
 <span class="sourceLineNo">1102</span>    List&lt;FileStatus&gt; fds = listStatusWithStatusFilter(fs, familyDir, new ReferenceFileFilter(fs));<a name="line.1102"></a>
 <span class="sourceLineNo">1103</span>    if (fds == null) {<a name="line.1103"></a>
-<span class="sourceLineNo">1104</span>      return new ArrayList&lt;&gt;();<a name="line.1104"></a>
+<span class="sourceLineNo">1104</span>      return Collections.emptyList();<a name="line.1104"></a>
 <span class="sourceLineNo">1105</span>    }<a name="line.1105"></a>
 <span class="sourceLineNo">1106</span>    List&lt;Path&gt; referenceFiles = new ArrayList&lt;&gt;(fds.size());<a name="line.1106"></a>
 <span class="sourceLineNo">1107</span>    for (FileStatus fdfs: fds) {<a name="line.1107"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/downloads.html
----------------------------------------------------------------------
diff --git a/downloads.html b/downloads.html
index aed7032..22ab99b 100644
--- a/downloads.html
+++ b/downloads.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="20181101" />
+    <meta name="Date-Revision-yyyymmdd" content="20181102" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBase Downloads</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -461,7 +461,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: 2018-11-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 4bcee2a..ad4b204 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="20181101" />
+    <meta name="Date-Revision-yyyymmdd" content="20181102" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -341,7 +341,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: 2018-11-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index fefed85..7c30530 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="20181101" />
+    <meta name="Date-Revision-yyyymmdd" content="20181102" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Apache HBaseâ„¢ Home</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -421,7 +421,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: 2018-11-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index a30a76a..e2cf58a 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="20181101" />
+    <meta name="Date-Revision-yyyymmdd" content="20181102" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; CI Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -301,7 +301,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index 12709ef..c819914 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="20181101" />
+    <meta name="Date-Revision-yyyymmdd" content="20181102" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Issue Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -298,7 +298,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 92dd466..647b2da 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="20181101" />
+    <meta name="Date-Revision-yyyymmdd" content="20181102" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Licenses</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -501,7 +501,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index c8364df..145518c 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="20181101" />
+    <meta name="Date-Revision-yyyymmdd" content="20181102" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Mailing Lists</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.4-HBase.min.css" />
@@ -351,7 +351,7 @@
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2018-11-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-02</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6c9b936e/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 15d5abe..ed459c9 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="20181101" />
+    <meta name="Date-Revision-yyyymmdd" content="20181102" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -469,7 +469,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: 2018-11-01</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2018-11-02</li>
             </p>
                 </div>