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<byte[]> getStripeBoundaries() {<a name="line.998"></a>
-<span class="sourceLineNo">999</span> if (this.state.stripeFiles.isEmpty()) return new ArrayList<>();<a name="line.999"></a>
-<span class="sourceLineNo">1000</span> ArrayList<byte[]> result = new ArrayList<>(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<byte[]> result = new ArrayList<>(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<ImmutableList<HStoreFile>> 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<HStoreFile> getUnneededFiles(long maxTs, List<HStoreFile> 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<HStoreFile> expiredStoreFiles = null;<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> for (ImmutableList<HStoreFile> 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<HStoreFile> findExpiredFiles(ImmutableList<HStoreFile> stripe, long maxTs,<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> List<HStoreFile> filesCompacting, Collection<HStoreFile> 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 < 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 < maxTs && !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<>();<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() > 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<HStoreFile> 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 >= 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 > 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<HStoreFile> 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<ImmutableList<HStoreFile>> 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<HStoreFile> getUnneededFiles(long maxTs, List<HStoreFile> 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<HStoreFile> expiredStoreFiles = null;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> for (ImmutableList<HStoreFile> 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<HStoreFile> findExpiredFiles(ImmutableList<HStoreFile> stripe, long maxTs,<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> List<HStoreFile> filesCompacting, Collection<HStoreFile> 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 < 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 < maxTs && !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<>();<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() > 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<HStoreFile> 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 >= 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 > 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<HStoreFile> 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<byte[]> getStripeBoundaries() {<a name="line.998"></a>
-<span class="sourceLineNo">999</span> if (this.state.stripeFiles.isEmpty()) return new ArrayList<>();<a name="line.999"></a>
-<span class="sourceLineNo">1000</span> ArrayList<byte[]> result = new ArrayList<>(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<byte[]> result = new ArrayList<>(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<ImmutableList<HStoreFile>> 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<HStoreFile> getUnneededFiles(long maxTs, List<HStoreFile> 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<HStoreFile> expiredStoreFiles = null;<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> for (ImmutableList<HStoreFile> 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<HStoreFile> findExpiredFiles(ImmutableList<HStoreFile> stripe, long maxTs,<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> List<HStoreFile> filesCompacting, Collection<HStoreFile> 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 < 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 < maxTs && !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<>();<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() > 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<HStoreFile> 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 >= 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 > 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<HStoreFile> 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<ImmutableList<HStoreFile>> 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<HStoreFile> getUnneededFiles(long maxTs, List<HStoreFile> 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<HStoreFile> expiredStoreFiles = null;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> for (ImmutableList<HStoreFile> 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<HStoreFile> findExpiredFiles(ImmutableList<HStoreFile> stripe, long maxTs,<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> List<HStoreFile> filesCompacting, Collection<HStoreFile> 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 < 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 < maxTs && !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<>();<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() > 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<HStoreFile> 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 >= 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 > 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<HStoreFile> 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<byte[]> getStripeBoundaries() {<a name="line.998"></a>
-<span class="sourceLineNo">999</span> if (this.state.stripeFiles.isEmpty()) return new ArrayList<>();<a name="line.999"></a>
-<span class="sourceLineNo">1000</span> ArrayList<byte[]> result = new ArrayList<>(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<byte[]> result = new ArrayList<>(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<ImmutableList<HStoreFile>> 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<HStoreFile> getUnneededFiles(long maxTs, List<HStoreFile> 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<HStoreFile> expiredStoreFiles = null;<a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> for (ImmutableList<HStoreFile> 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<HStoreFile> findExpiredFiles(ImmutableList<HStoreFile> stripe, long maxTs,<a name="line.1029"></a>
-<span class="sourceLineNo">1030</span> List<HStoreFile> filesCompacting, Collection<HStoreFile> 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 < 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 < maxTs && !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<>();<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() > 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<HStoreFile> 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 >= 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 > 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<HStoreFile> 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<ImmutableList<HStoreFile>> 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<HStoreFile> getUnneededFiles(long maxTs, List<HStoreFile> 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<HStoreFile> expiredStoreFiles = null;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> for (ImmutableList<HStoreFile> 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<HStoreFile> findExpiredFiles(ImmutableList<HStoreFile> stripe, long maxTs,<a name="line.1031"></a>
+<span class="sourceLineNo">1032</span> List<HStoreFile> filesCompacting, Collection<HStoreFile> 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 < 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 < maxTs && !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<>();<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() > 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<HStoreFile> 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 >= 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 > 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<HStoreFile> 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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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<FileStatus> 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<>();<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<Path> regionDirs = new ArrayList<>(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<Path> getReferenceFilePaths(final FileSystem fs, final Path familyDir) throws IOException {<a name="line.1101"></a>
<span class="sourceLineNo">1102</span> List<FileStatus> 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<>();<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<Path> referenceFiles = new ArrayList<>(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 – 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 –
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 – 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 – 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 – 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 – 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 – 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 –
Apache HBase (TM) Metrics
@@ -469,7 +469,7 @@ export HBASE_REGIONSERVER_OPTS="$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>