http://git-wip-us.apache.org/repos/asf/hbase-site/blob/dccdd274/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html index 3fc11a2..446e842 100644 --- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html +++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html @@ -514,7 +514,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>tearDown</h4> -<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.188">tearDown</a>() +<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.189">tearDown</a>() throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> @@ -528,7 +528,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>testCacheOnWriteInSchema</h4> -<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.214">testCacheOnWriteInSchema</a>() +<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.215">testCacheOnWriteInSchema</a>() throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> @@ -542,7 +542,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>readStoreFile</h4> -<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.224">readStoreFile</a>(org.apache.hadoop.fs.Path path) +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.225">readStoreFile</a>(org.apache.hadoop.fs.Path path) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> @@ -556,7 +556,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>generateKeyType</h4> -<pre>private static org.apache.hadoop.hbase.KeyValue.Type <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.260">generateKeyType</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> rand)</pre> +<pre>private static org.apache.hadoop.hbase.KeyValue.Type <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.261">generateKeyType</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> rand)</pre> </li> </ul> <a name="writeStoreFile-org.apache.hadoop.hbase.regionserver.StoreFileWriter-"> @@ -565,7 +565,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockListLast"> <li class="blockList"> <h4>writeStoreFile</h4> -<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.276">writeStoreFile</a>(org.apache.hadoop.hbase.regionserver.StoreFileWriter writer) +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.html#line.277">writeStoreFile</a>(org.apache.hadoop.hbase.regionserver.StoreFileWriter writer) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/dccdd274/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html index e7965fc..3878ce8 100644 --- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html +++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html @@ -534,7 +534,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>createSortedKeyValues</h4> -<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.KeyValue> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.147">createSortedKeyValues</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> rand, +<pre>private <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.KeyValue> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.148">createSortedKeyValues</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> rand, int n)</pre> </li> </ul> @@ -544,7 +544,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>testCompoundBloomFilter</h4> -<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.156">testCompoundBloomFilter</a>() +<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.157">testCompoundBloomFilter</a>() throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> @@ -558,7 +558,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>validateFalsePosRate</h4> -<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.183">validateFalsePosRate</a>(double falsePosRate, +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.184">validateFalsePosRate</a>(double falsePosRate, int nTrials, double zValueBoundary, org.apache.hadoop.hbase.io.hfile.CompoundBloomFilter cbf, @@ -583,7 +583,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>readStoreFile</h4> -<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.204">readStoreFile</a>(int t, +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.205">readStoreFile</a>(int t, org.apache.hadoop.hbase.regionserver.BloomType bt, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.KeyValue> kvs, org.apache.hadoop.fs.Path sfPath) @@ -600,7 +600,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>isInBloom</h4> -<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.287">isInBloom</a>(org.apache.hadoop.hbase.regionserver.StoreFileScanner scanner, +<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.288">isInBloom</a>(org.apache.hadoop.hbase.regionserver.StoreFileScanner scanner, byte[] row, org.apache.hadoop.hbase.regionserver.BloomType bt, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> rand)</pre> @@ -612,7 +612,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>isInBloom</h4> -<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.292">isInBloom</a>(org.apache.hadoop.hbase.regionserver.StoreFileScanner scanner, +<pre>private boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.293">isInBloom</a>(org.apache.hadoop.hbase.regionserver.StoreFileScanner scanner, byte[] row, byte[] qualifier)</pre> </li> @@ -623,7 +623,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>writeStoreFile</h4> -<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.302">writeStoreFile</a>(int t, +<pre>private org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.303">writeStoreFile</a>(int t, org.apache.hadoop.hbase.regionserver.BloomType bt, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><org.apache.hadoop.hbase.KeyValue> kvs) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> @@ -639,7 +639,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>testCompoundBloomSizing</h4> -<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.344">testCompoundBloomSizing</a>()</pre> +<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.345">testCompoundBloomSizing</a>()</pre> </li> </ul> <a name="testCreateKey--"> @@ -648,7 +648,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockListLast"> <li class="blockList"> <h4>testCreateKey</h4> -<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.360">testCreateKey</a>()</pre> +<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.html#line.361">testCreateKey</a>()</pre> </li> </ul> </li> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/dccdd274/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStoreFile.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStoreFile.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStoreFile.html index a91f221..17cc8c2 100644 --- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStoreFile.html +++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestHStoreFile.html @@ -886,7 +886,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/HBaseTestCase.html" titl <ul class="blockList"> <li class="blockList"> <h4>testCacheOnWriteEvictOnClose</h4> -<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestHStoreFile.html#line.931">testCacheOnWriteEvictOnClose</a>() +<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestHStoreFile.html#line.930">testCacheOnWriteEvictOnClose</a>() throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/dccdd274/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html index fc10eac..c23d33e 100644 --- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html +++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html @@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab"; <li class="blockList"> <hr> <br> -<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.63">TestRecoveredEdits</a> +<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.64">TestRecoveredEdits</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre> <div class="block">Tests around replay of recovered.edits content.</div> </li> @@ -223,7 +223,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>CLASS_RULE</h4> -<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.66">CLASS_RULE</a></pre> +<pre>public static final <a href="../../../../../org/apache/hadoop/hbase/HBaseClassTestRule.html" title="class in org.apache.hadoop.hbase">HBaseClassTestRule</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.67">CLASS_RULE</a></pre> </li> </ul> <a name="TEST_UTIL"> @@ -232,7 +232,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>TEST_UTIL</h4> -<pre>private static final <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.69">TEST_UTIL</a></pre> +<pre>private static final <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.70">TEST_UTIL</a></pre> </li> </ul> <a name="LOG"> @@ -241,7 +241,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>LOG</h4> -<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.70">LOG</a></pre> +<pre>private static final org.slf4j.Logger <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.71">LOG</a></pre> </li> </ul> <a name="testName"> @@ -250,7 +250,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockListLast"> <li class="blockList"> <h4>testName</h4> -<pre>public org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.71">testName</a></pre> +<pre>public org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.72">testName</a></pre> </li> </ul> </li> @@ -267,7 +267,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockListLast"> <li class="blockList"> <h4>TestRecoveredEdits</h4> -<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.63">TestRecoveredEdits</a>()</pre> +<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.64">TestRecoveredEdits</a>()</pre> </li> </ul> </li> @@ -284,7 +284,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>testReplayWorksThoughLotsOfFlushing</h4> -<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.81">testReplayWorksThoughLotsOfFlushing</a>() +<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.82">testReplayWorksThoughLotsOfFlushing</a>() throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <div class="block">HBASE-12782 ITBLL fails for me if generator does anything but 5M per maptask. Create a region. Close it. Then copy into place a file to replay, one that is bigger than @@ -302,7 +302,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockList"> <li class="blockList"> <h4>testReplayWorksWithMemoryCompactionPolicy</h4> -<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.88">testReplayWorksWithMemoryCompactionPolicy</a>(org.apache.hadoop.hbase.MemoryCompactionPolicy policy) +<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.90">testReplayWorksWithMemoryCompactionPolicy</a>(org.apache.hadoop.hbase.MemoryCompactionPolicy policy) throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre> <dl> <dt><span class="throwsLabel">Throws:</span></dt> @@ -316,7 +316,7 @@ extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html <ul class="blockListLast"> <li class="blockList"> <h4>verifyAllEditsMadeItIn</h4> -<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.168">verifyAllEditsMadeItIn</a>(org.apache.hadoop.fs.FileSystem fs, +<pre>private int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.html#line.170">verifyAllEditsMadeItIn</a>(org.apache.hadoop.fs.FileSystem fs, org.apache.hadoop.conf.Configuration conf, org.apache.hadoop.fs.Path edits, org.apache.hadoop.hbase.regionserver.HRegion region) http://git-wip-us.apache.org/repos/asf/hbase-site/blob/dccdd274/testdevapidocs/src-html/org/apache/hadoop/hbase/io/encoding/TestEncodedSeekers.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/io/encoding/TestEncodedSeekers.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/io/encoding/TestEncodedSeekers.html index 33fde76..d9c31be 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/io/encoding/TestEncodedSeekers.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/io/encoding/TestEncodedSeekers.html @@ -120,90 +120,91 @@ <span class="sourceLineNo">112</span> if(includeTags) {<a name="line.112"></a> <span class="sourceLineNo">113</span> testUtil.getConfiguration().setInt(HFile.FORMAT_VERSION_KEY, 3);<a name="line.113"></a> <span class="sourceLineNo">114</span> }<a name="line.114"></a> -<span class="sourceLineNo">115</span> LruBlockCache cache =<a name="line.115"></a> -<span class="sourceLineNo">116</span> (LruBlockCache)new CacheConfig(testUtil.getConfiguration()).getBlockCache();<a name="line.116"></a> -<span class="sourceLineNo">117</span> cache.clearCache();<a name="line.117"></a> -<span class="sourceLineNo">118</span> // Need to disable default row bloom filter for this test to pass.<a name="line.118"></a> -<span class="sourceLineNo">119</span> HColumnDescriptor hcd = (new HColumnDescriptor(CF_NAME)).setMaxVersions(MAX_VERSIONS).<a name="line.119"></a> -<span class="sourceLineNo">120</span> setDataBlockEncoding(encoding).<a name="line.120"></a> -<span class="sourceLineNo">121</span> setBlocksize(BLOCK_SIZE).<a name="line.121"></a> -<span class="sourceLineNo">122</span> setBloomFilterType(BloomType.NONE).<a name="line.122"></a> -<span class="sourceLineNo">123</span> setCompressTags(compressTags);<a name="line.123"></a> -<span class="sourceLineNo">124</span> HRegion region = testUtil.createTestRegion(TABLE_NAME, hcd);<a name="line.124"></a> -<span class="sourceLineNo">125</span><a name="line.125"></a> -<span class="sourceLineNo">126</span> //write the data, but leave some in the memstore<a name="line.126"></a> -<span class="sourceLineNo">127</span> doPuts(region);<a name="line.127"></a> -<span class="sourceLineNo">128</span><a name="line.128"></a> -<span class="sourceLineNo">129</span> //verify correctness when memstore contains data<a name="line.129"></a> -<span class="sourceLineNo">130</span> doGets(region);<a name="line.130"></a> -<span class="sourceLineNo">131</span><a name="line.131"></a> -<span class="sourceLineNo">132</span> //verify correctness again after compacting<a name="line.132"></a> -<span class="sourceLineNo">133</span> region.compact(false);<a name="line.133"></a> -<span class="sourceLineNo">134</span> doGets(region);<a name="line.134"></a> -<span class="sourceLineNo">135</span><a name="line.135"></a> -<span class="sourceLineNo">136</span> Map<DataBlockEncoding, Integer> encodingCounts = cache.getEncodingCountsForTest();<a name="line.136"></a> -<span class="sourceLineNo">137</span><a name="line.137"></a> -<span class="sourceLineNo">138</span> // Ensure that compactions don't pollute the cache with unencoded blocks<a name="line.138"></a> -<span class="sourceLineNo">139</span> // in case of in-cache-only encoding.<a name="line.139"></a> -<span class="sourceLineNo">140</span> System.err.println("encodingCounts=" + encodingCounts);<a name="line.140"></a> -<span class="sourceLineNo">141</span> assertEquals(1, encodingCounts.size());<a name="line.141"></a> -<span class="sourceLineNo">142</span> DataBlockEncoding encodingInCache = encodingCounts.keySet().iterator().next();<a name="line.142"></a> -<span class="sourceLineNo">143</span> assertEquals(encoding, encodingInCache);<a name="line.143"></a> -<span class="sourceLineNo">144</span> assertTrue(encodingCounts.get(encodingInCache) > 0);<a name="line.144"></a> -<span class="sourceLineNo">145</span> }<a name="line.145"></a> -<span class="sourceLineNo">146</span><a name="line.146"></a> +<span class="sourceLineNo">115</span> CacheConfig.instantiateBlockCache(testUtil.getConfiguration());<a name="line.115"></a> +<span class="sourceLineNo">116</span> LruBlockCache cache =<a name="line.116"></a> +<span class="sourceLineNo">117</span> (LruBlockCache)new CacheConfig(testUtil.getConfiguration()).getBlockCache();<a name="line.117"></a> +<span class="sourceLineNo">118</span> cache.clearCache();<a name="line.118"></a> +<span class="sourceLineNo">119</span> // Need to disable default row bloom filter for this test to pass.<a name="line.119"></a> +<span class="sourceLineNo">120</span> HColumnDescriptor hcd = (new HColumnDescriptor(CF_NAME)).setMaxVersions(MAX_VERSIONS).<a name="line.120"></a> +<span class="sourceLineNo">121</span> setDataBlockEncoding(encoding).<a name="line.121"></a> +<span class="sourceLineNo">122</span> setBlocksize(BLOCK_SIZE).<a name="line.122"></a> +<span class="sourceLineNo">123</span> setBloomFilterType(BloomType.NONE).<a name="line.123"></a> +<span class="sourceLineNo">124</span> setCompressTags(compressTags);<a name="line.124"></a> +<span class="sourceLineNo">125</span> HRegion region = testUtil.createTestRegion(TABLE_NAME, hcd);<a name="line.125"></a> +<span class="sourceLineNo">126</span><a name="line.126"></a> +<span class="sourceLineNo">127</span> //write the data, but leave some in the memstore<a name="line.127"></a> +<span class="sourceLineNo">128</span> doPuts(region);<a name="line.128"></a> +<span class="sourceLineNo">129</span><a name="line.129"></a> +<span class="sourceLineNo">130</span> //verify correctness when memstore contains data<a name="line.130"></a> +<span class="sourceLineNo">131</span> doGets(region);<a name="line.131"></a> +<span class="sourceLineNo">132</span><a name="line.132"></a> +<span class="sourceLineNo">133</span> //verify correctness again after compacting<a name="line.133"></a> +<span class="sourceLineNo">134</span> region.compact(false);<a name="line.134"></a> +<span class="sourceLineNo">135</span> doGets(region);<a name="line.135"></a> +<span class="sourceLineNo">136</span><a name="line.136"></a> +<span class="sourceLineNo">137</span> Map<DataBlockEncoding, Integer> encodingCounts = cache.getEncodingCountsForTest();<a name="line.137"></a> +<span class="sourceLineNo">138</span><a name="line.138"></a> +<span class="sourceLineNo">139</span> // Ensure that compactions don't pollute the cache with unencoded blocks<a name="line.139"></a> +<span class="sourceLineNo">140</span> // in case of in-cache-only encoding.<a name="line.140"></a> +<span class="sourceLineNo">141</span> System.err.println("encodingCounts=" + encodingCounts);<a name="line.141"></a> +<span class="sourceLineNo">142</span> assertEquals(1, encodingCounts.size());<a name="line.142"></a> +<span class="sourceLineNo">143</span> DataBlockEncoding encodingInCache = encodingCounts.keySet().iterator().next();<a name="line.143"></a> +<span class="sourceLineNo">144</span> assertEquals(encoding, encodingInCache);<a name="line.144"></a> +<span class="sourceLineNo">145</span> assertTrue(encodingCounts.get(encodingInCache) > 0);<a name="line.145"></a> +<span class="sourceLineNo">146</span> }<a name="line.146"></a> <span class="sourceLineNo">147</span><a name="line.147"></a> -<span class="sourceLineNo">148</span> private void doPuts(HRegion region) throws IOException{<a name="line.148"></a> -<span class="sourceLineNo">149</span> LoadTestKVGenerator dataGenerator = new LoadTestKVGenerator(MIN_VALUE_SIZE, MAX_VALUE_SIZE);<a name="line.149"></a> -<span class="sourceLineNo">150</span> for (int i = 0; i < NUM_ROWS; ++i) {<a name="line.150"></a> -<span class="sourceLineNo">151</span> byte[] key = LoadTestKVGenerator.md5PrefixedKey(i).getBytes();<a name="line.151"></a> -<span class="sourceLineNo">152</span> for (int j = 0; j < NUM_COLS_PER_ROW; ++j) {<a name="line.152"></a> -<span class="sourceLineNo">153</span> Put put = new Put(key);<a name="line.153"></a> -<span class="sourceLineNo">154</span> put.setDurability(Durability.ASYNC_WAL);<a name="line.154"></a> -<span class="sourceLineNo">155</span> byte[] col = Bytes.toBytes(String.valueOf(j));<a name="line.155"></a> -<span class="sourceLineNo">156</span> byte[] value = dataGenerator.generateRandomSizeValue(key, col);<a name="line.156"></a> -<span class="sourceLineNo">157</span> if (includeTags) {<a name="line.157"></a> -<span class="sourceLineNo">158</span> Tag[] tag = new Tag[1];<a name="line.158"></a> -<span class="sourceLineNo">159</span> tag[0] = new ArrayBackedTag((byte) 1, "Visibility");<a name="line.159"></a> -<span class="sourceLineNo">160</span> KeyValue kv = new KeyValue(key, CF_BYTES, col, HConstants.LATEST_TIMESTAMP, value, tag);<a name="line.160"></a> -<span class="sourceLineNo">161</span> put.add(kv);<a name="line.161"></a> -<span class="sourceLineNo">162</span> } else {<a name="line.162"></a> -<span class="sourceLineNo">163</span> put.addColumn(CF_BYTES, col, value);<a name="line.163"></a> -<span class="sourceLineNo">164</span> }<a name="line.164"></a> -<span class="sourceLineNo">165</span> if(VERBOSE){<a name="line.165"></a> -<span class="sourceLineNo">166</span> KeyValue kvPut = new KeyValue(key, CF_BYTES, col, value);<a name="line.166"></a> -<span class="sourceLineNo">167</span> System.err.println(Strings.padFront(i+"", ' ', 4)+" "+kvPut);<a name="line.167"></a> -<span class="sourceLineNo">168</span> }<a name="line.168"></a> -<span class="sourceLineNo">169</span> region.put(put);<a name="line.169"></a> -<span class="sourceLineNo">170</span> }<a name="line.170"></a> -<span class="sourceLineNo">171</span> if (i % NUM_ROWS_PER_FLUSH == 0) {<a name="line.171"></a> -<span class="sourceLineNo">172</span> region.flush(true);<a name="line.172"></a> -<span class="sourceLineNo">173</span> }<a name="line.173"></a> -<span class="sourceLineNo">174</span> }<a name="line.174"></a> -<span class="sourceLineNo">175</span> }<a name="line.175"></a> -<span class="sourceLineNo">176</span><a name="line.176"></a> +<span class="sourceLineNo">148</span><a name="line.148"></a> +<span class="sourceLineNo">149</span> private void doPuts(HRegion region) throws IOException{<a name="line.149"></a> +<span class="sourceLineNo">150</span> LoadTestKVGenerator dataGenerator = new LoadTestKVGenerator(MIN_VALUE_SIZE, MAX_VALUE_SIZE);<a name="line.150"></a> +<span class="sourceLineNo">151</span> for (int i = 0; i < NUM_ROWS; ++i) {<a name="line.151"></a> +<span class="sourceLineNo">152</span> byte[] key = LoadTestKVGenerator.md5PrefixedKey(i).getBytes();<a name="line.152"></a> +<span class="sourceLineNo">153</span> for (int j = 0; j < NUM_COLS_PER_ROW; ++j) {<a name="line.153"></a> +<span class="sourceLineNo">154</span> Put put = new Put(key);<a name="line.154"></a> +<span class="sourceLineNo">155</span> put.setDurability(Durability.ASYNC_WAL);<a name="line.155"></a> +<span class="sourceLineNo">156</span> byte[] col = Bytes.toBytes(String.valueOf(j));<a name="line.156"></a> +<span class="sourceLineNo">157</span> byte[] value = dataGenerator.generateRandomSizeValue(key, col);<a name="line.157"></a> +<span class="sourceLineNo">158</span> if (includeTags) {<a name="line.158"></a> +<span class="sourceLineNo">159</span> Tag[] tag = new Tag[1];<a name="line.159"></a> +<span class="sourceLineNo">160</span> tag[0] = new ArrayBackedTag((byte) 1, "Visibility");<a name="line.160"></a> +<span class="sourceLineNo">161</span> KeyValue kv = new KeyValue(key, CF_BYTES, col, HConstants.LATEST_TIMESTAMP, value, tag);<a name="line.161"></a> +<span class="sourceLineNo">162</span> put.add(kv);<a name="line.162"></a> +<span class="sourceLineNo">163</span> } else {<a name="line.163"></a> +<span class="sourceLineNo">164</span> put.addColumn(CF_BYTES, col, value);<a name="line.164"></a> +<span class="sourceLineNo">165</span> }<a name="line.165"></a> +<span class="sourceLineNo">166</span> if(VERBOSE){<a name="line.166"></a> +<span class="sourceLineNo">167</span> KeyValue kvPut = new KeyValue(key, CF_BYTES, col, value);<a name="line.167"></a> +<span class="sourceLineNo">168</span> System.err.println(Strings.padFront(i+"", ' ', 4)+" "+kvPut);<a name="line.168"></a> +<span class="sourceLineNo">169</span> }<a name="line.169"></a> +<span class="sourceLineNo">170</span> region.put(put);<a name="line.170"></a> +<span class="sourceLineNo">171</span> }<a name="line.171"></a> +<span class="sourceLineNo">172</span> if (i % NUM_ROWS_PER_FLUSH == 0) {<a name="line.172"></a> +<span class="sourceLineNo">173</span> region.flush(true);<a name="line.173"></a> +<span class="sourceLineNo">174</span> }<a name="line.174"></a> +<span class="sourceLineNo">175</span> }<a name="line.175"></a> +<span class="sourceLineNo">176</span> }<a name="line.176"></a> <span class="sourceLineNo">177</span><a name="line.177"></a> -<span class="sourceLineNo">178</span> private void doGets(Region region) throws IOException{<a name="line.178"></a> -<span class="sourceLineNo">179</span> for (int i = 0; i < NUM_ROWS; ++i) {<a name="line.179"></a> -<span class="sourceLineNo">180</span> final byte[] rowKey = LoadTestKVGenerator.md5PrefixedKey(i).getBytes();<a name="line.180"></a> -<span class="sourceLineNo">181</span> for (int j = 0; j < NUM_COLS_PER_ROW; ++j) {<a name="line.181"></a> -<span class="sourceLineNo">182</span> final String qualStr = String.valueOf(j);<a name="line.182"></a> -<span class="sourceLineNo">183</span> if (VERBOSE) {<a name="line.183"></a> -<span class="sourceLineNo">184</span> System.err.println("Reading row " + i + ", column " + j + " " + Bytes.toString(rowKey)+"/"<a name="line.184"></a> -<span class="sourceLineNo">185</span> +qualStr);<a name="line.185"></a> -<span class="sourceLineNo">186</span> }<a name="line.186"></a> -<span class="sourceLineNo">187</span> final byte[] qualBytes = Bytes.toBytes(qualStr);<a name="line.187"></a> -<span class="sourceLineNo">188</span> Get get = new Get(rowKey);<a name="line.188"></a> -<span class="sourceLineNo">189</span> get.addColumn(CF_BYTES, qualBytes);<a name="line.189"></a> -<span class="sourceLineNo">190</span> Result result = region.get(get);<a name="line.190"></a> -<span class="sourceLineNo">191</span> assertEquals(1, result.size());<a name="line.191"></a> -<span class="sourceLineNo">192</span> byte[] value = result.getValue(CF_BYTES, qualBytes);<a name="line.192"></a> -<span class="sourceLineNo">193</span> assertTrue(LoadTestKVGenerator.verify(value, rowKey, qualBytes));<a name="line.193"></a> -<span class="sourceLineNo">194</span> }<a name="line.194"></a> -<span class="sourceLineNo">195</span> }<a name="line.195"></a> -<span class="sourceLineNo">196</span> }<a name="line.196"></a> -<span class="sourceLineNo">197</span><a name="line.197"></a> -<span class="sourceLineNo">198</span>}<a name="line.198"></a> +<span class="sourceLineNo">178</span><a name="line.178"></a> +<span class="sourceLineNo">179</span> private void doGets(Region region) throws IOException{<a name="line.179"></a> +<span class="sourceLineNo">180</span> for (int i = 0; i < NUM_ROWS; ++i) {<a name="line.180"></a> +<span class="sourceLineNo">181</span> final byte[] rowKey = LoadTestKVGenerator.md5PrefixedKey(i).getBytes();<a name="line.181"></a> +<span class="sourceLineNo">182</span> for (int j = 0; j < NUM_COLS_PER_ROW; ++j) {<a name="line.182"></a> +<span class="sourceLineNo">183</span> final String qualStr = String.valueOf(j);<a name="line.183"></a> +<span class="sourceLineNo">184</span> if (VERBOSE) {<a name="line.184"></a> +<span class="sourceLineNo">185</span> System.err.println("Reading row " + i + ", column " + j + " " + Bytes.toString(rowKey)+"/"<a name="line.185"></a> +<span class="sourceLineNo">186</span> +qualStr);<a name="line.186"></a> +<span class="sourceLineNo">187</span> }<a name="line.187"></a> +<span class="sourceLineNo">188</span> final byte[] qualBytes = Bytes.toBytes(qualStr);<a name="line.188"></a> +<span class="sourceLineNo">189</span> Get get = new Get(rowKey);<a name="line.189"></a> +<span class="sourceLineNo">190</span> get.addColumn(CF_BYTES, qualBytes);<a name="line.190"></a> +<span class="sourceLineNo">191</span> Result result = region.get(get);<a name="line.191"></a> +<span class="sourceLineNo">192</span> assertEquals(1, result.size());<a name="line.192"></a> +<span class="sourceLineNo">193</span> byte[] value = result.getValue(CF_BYTES, qualBytes);<a name="line.193"></a> +<span class="sourceLineNo">194</span> assertTrue(LoadTestKVGenerator.verify(value, rowKey, qualBytes));<a name="line.194"></a> +<span class="sourceLineNo">195</span> }<a name="line.195"></a> +<span class="sourceLineNo">196</span> }<a name="line.196"></a> +<span class="sourceLineNo">197</span> }<a name="line.197"></a> +<span class="sourceLineNo">198</span><a name="line.198"></a> +<span class="sourceLineNo">199</span>}<a name="line.199"></a> http://git-wip-us.apache.org/repos/asf/hbase-site/blob/dccdd274/testdevapidocs/src-html/org/apache/hadoop/hbase/io/hfile/TestBlockCacheReporting.html ---------------------------------------------------------------------- diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/io/hfile/TestBlockCacheReporting.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/io/hfile/TestBlockCacheReporting.html index 566ee51..8e2e91a 100644 --- a/testdevapidocs/src-html/org/apache/hadoop/hbase/io/hfile/TestBlockCacheReporting.html +++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/io/hfile/TestBlockCacheReporting.html @@ -27,90 +27,90 @@ <span class="sourceLineNo">019</span><a name="line.19"></a> <span class="sourceLineNo">020</span>import static org.junit.Assert.*;<a name="line.20"></a> <span class="sourceLineNo">021</span><a name="line.21"></a> -<span class="sourceLineNo">022</span>import com.fasterxml.jackson.core.JsonGenerationException;<a name="line.22"></a> -<span class="sourceLineNo">023</span>import com.fasterxml.jackson.databind.JsonMappingException;<a name="line.23"></a> -<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a> -<span class="sourceLineNo">025</span>import java.util.Map;<a name="line.25"></a> -<span class="sourceLineNo">026</span>import java.util.NavigableSet;<a name="line.26"></a> -<span class="sourceLineNo">027</span>import java.util.Objects;<a name="line.27"></a> -<span class="sourceLineNo">028</span>import org.apache.hadoop.conf.Configuration;<a name="line.28"></a> -<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.29"></a> -<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.30"></a> -<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.HConstants;<a name="line.31"></a> -<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.io.hfile.TestCacheConfig.DataCacheEntry;<a name="line.32"></a> -<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.io.hfile.TestCacheConfig.IndexCacheEntry;<a name="line.33"></a> -<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.testclassification.IOTests;<a name="line.34"></a> -<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.35"></a> -<span class="sourceLineNo">036</span>import org.junit.After;<a name="line.36"></a> -<span class="sourceLineNo">037</span>import org.junit.Before;<a name="line.37"></a> -<span class="sourceLineNo">038</span>import org.junit.ClassRule;<a name="line.38"></a> -<span class="sourceLineNo">039</span>import org.junit.Test;<a name="line.39"></a> -<span class="sourceLineNo">040</span>import org.junit.experimental.categories.Category;<a name="line.40"></a> -<span class="sourceLineNo">041</span>import org.slf4j.Logger;<a name="line.41"></a> -<span class="sourceLineNo">042</span>import org.slf4j.LoggerFactory;<a name="line.42"></a> -<span class="sourceLineNo">043</span><a name="line.43"></a> -<span class="sourceLineNo">044</span>@Category({IOTests.class, SmallTests.class})<a name="line.44"></a> -<span class="sourceLineNo">045</span>public class TestBlockCacheReporting {<a name="line.45"></a> -<span class="sourceLineNo">046</span><a name="line.46"></a> -<span class="sourceLineNo">047</span> @ClassRule<a name="line.47"></a> -<span class="sourceLineNo">048</span> public static final HBaseClassTestRule CLASS_RULE =<a name="line.48"></a> -<span class="sourceLineNo">049</span> HBaseClassTestRule.forClass(TestBlockCacheReporting.class);<a name="line.49"></a> -<span class="sourceLineNo">050</span><a name="line.50"></a> -<span class="sourceLineNo">051</span> private static final Logger LOG = LoggerFactory.getLogger(TestBlockCacheReporting.class);<a name="line.51"></a> -<span class="sourceLineNo">052</span> private Configuration conf;<a name="line.52"></a> -<span class="sourceLineNo">053</span><a name="line.53"></a> -<span class="sourceLineNo">054</span> @Before<a name="line.54"></a> -<span class="sourceLineNo">055</span> public void setUp() throws Exception {<a name="line.55"></a> -<span class="sourceLineNo">056</span> CacheConfig.clearGlobalInstances();<a name="line.56"></a> -<span class="sourceLineNo">057</span> this.conf = HBaseConfiguration.create();<a name="line.57"></a> -<span class="sourceLineNo">058</span> }<a name="line.58"></a> -<span class="sourceLineNo">059</span><a name="line.59"></a> -<span class="sourceLineNo">060</span> @After<a name="line.60"></a> -<span class="sourceLineNo">061</span> public void tearDown() throws Exception {<a name="line.61"></a> -<span class="sourceLineNo">062</span> // Let go of current block cache.<a name="line.62"></a> -<span class="sourceLineNo">063</span> CacheConfig.clearGlobalInstances();<a name="line.63"></a> -<span class="sourceLineNo">064</span> }<a name="line.64"></a> -<span class="sourceLineNo">065</span><a name="line.65"></a> -<span class="sourceLineNo">066</span> private void addDataAndHits(final BlockCache bc, final int count) {<a name="line.66"></a> -<span class="sourceLineNo">067</span> Cacheable dce = new DataCacheEntry();<a name="line.67"></a> -<span class="sourceLineNo">068</span> Cacheable ice = new IndexCacheEntry();<a name="line.68"></a> -<span class="sourceLineNo">069</span> for (int i = 0; i < count; i++) {<a name="line.69"></a> -<span class="sourceLineNo">070</span> BlockCacheKey bckd = new BlockCacheKey("f", i);<a name="line.70"></a> -<span class="sourceLineNo">071</span> BlockCacheKey bcki = new BlockCacheKey("f", i + count);<a name="line.71"></a> -<span class="sourceLineNo">072</span> bc.getBlock(bckd, true, false, true);<a name="line.72"></a> -<span class="sourceLineNo">073</span> bc.cacheBlock(bckd, dce);<a name="line.73"></a> -<span class="sourceLineNo">074</span> bc.cacheBlock(bcki, ice);<a name="line.74"></a> -<span class="sourceLineNo">075</span> bc.getBlock(bckd, true, false, true);<a name="line.75"></a> -<span class="sourceLineNo">076</span> bc.getBlock(bcki, true, false, true);<a name="line.76"></a> -<span class="sourceLineNo">077</span> }<a name="line.77"></a> -<span class="sourceLineNo">078</span> assertEquals(2 * count /*Data and Index blocks*/, bc.getStats().getHitCount());<a name="line.78"></a> -<span class="sourceLineNo">079</span> BlockCacheKey bckd = new BlockCacheKey("f", 0);<a name="line.79"></a> -<span class="sourceLineNo">080</span> BlockCacheKey bcki = new BlockCacheKey("f", 0 + count);<a name="line.80"></a> -<span class="sourceLineNo">081</span> bc.evictBlock(bckd);<a name="line.81"></a> -<span class="sourceLineNo">082</span> bc.evictBlock(bcki);<a name="line.82"></a> -<span class="sourceLineNo">083</span> bc.getStats().getEvictedCount();<a name="line.83"></a> -<span class="sourceLineNo">084</span> }<a name="line.84"></a> -<span class="sourceLineNo">085</span><a name="line.85"></a> -<span class="sourceLineNo">086</span> @Test<a name="line.86"></a> -<span class="sourceLineNo">087</span> public void testBucketCache() throws JsonGenerationException, JsonMappingException, IOException {<a name="line.87"></a> -<span class="sourceLineNo">088</span> this.conf.set(HConstants.BUCKET_CACHE_IOENGINE_KEY, "offheap");<a name="line.88"></a> -<span class="sourceLineNo">089</span> this.conf.setInt(HConstants.BUCKET_CACHE_SIZE_KEY, 100);<a name="line.89"></a> -<span class="sourceLineNo">090</span> CacheConfig cc = new CacheConfig(this.conf);<a name="line.90"></a> -<span class="sourceLineNo">091</span> assertTrue(cc.getBlockCache() instanceof CombinedBlockCache);<a name="line.91"></a> -<span class="sourceLineNo">092</span> logPerBlock(cc.getBlockCache());<a name="line.92"></a> -<span class="sourceLineNo">093</span> final int count = 3;<a name="line.93"></a> -<span class="sourceLineNo">094</span> addDataAndHits(cc.getBlockCache(), count);<a name="line.94"></a> -<span class="sourceLineNo">095</span> // The below has no asserts. It is just exercising toString and toJSON code.<a name="line.95"></a> -<span class="sourceLineNo">096</span> LOG.info(Objects.toString(cc.getBlockCache().getStats()));<a name="line.96"></a> -<span class="sourceLineNo">097</span> BlockCacheUtil.CachedBlocksByFile cbsbf = logPerBlock(cc.getBlockCache());<a name="line.97"></a> -<span class="sourceLineNo">098</span> LOG.info(Objects.toString(cbsbf));<a name="line.98"></a> -<span class="sourceLineNo">099</span> logPerFile(cbsbf);<a name="line.99"></a> -<span class="sourceLineNo">100</span> bucketCacheReport(cc.getBlockCache());<a name="line.100"></a> -<span class="sourceLineNo">101</span> LOG.info(BlockCacheUtil.toJSON(cbsbf));<a name="line.101"></a> -<span class="sourceLineNo">102</span> }<a name="line.102"></a> -<span class="sourceLineNo">103</span><a name="line.103"></a> -<span class="sourceLineNo">104</span> @Test<a name="line.104"></a> -<span class="sourceLineNo">105</span> public void testLruBlockCache() throws JsonGenerationException, JsonMappingException, IOException {<a name="line.105"></a> +<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a> +<span class="sourceLineNo">023</span>import java.util.Map;<a name="line.23"></a> +<span class="sourceLineNo">024</span>import java.util.NavigableSet;<a name="line.24"></a> +<span class="sourceLineNo">025</span>import java.util.Objects;<a name="line.25"></a> +<span class="sourceLineNo">026</span>import org.apache.hadoop.conf.Configuration;<a name="line.26"></a> +<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.HBaseClassTestRule;<a name="line.27"></a> +<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.28"></a> +<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.HConstants;<a name="line.29"></a> +<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.io.hfile.TestCacheConfig.DataCacheEntry;<a name="line.30"></a> +<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.io.hfile.TestCacheConfig.IndexCacheEntry;<a name="line.31"></a> +<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.IOTests;<a name="line.32"></a> +<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.SmallTests;<a name="line.33"></a> +<span class="sourceLineNo">034</span>import org.junit.After;<a name="line.34"></a> +<span class="sourceLineNo">035</span>import org.junit.Before;<a name="line.35"></a> +<span class="sourceLineNo">036</span>import org.junit.ClassRule;<a name="line.36"></a> +<span class="sourceLineNo">037</span>import org.junit.Test;<a name="line.37"></a> +<span class="sourceLineNo">038</span>import org.junit.experimental.categories.Category;<a name="line.38"></a> +<span class="sourceLineNo">039</span>import org.slf4j.Logger;<a name="line.39"></a> +<span class="sourceLineNo">040</span>import org.slf4j.LoggerFactory;<a name="line.40"></a> +<span class="sourceLineNo">041</span><a name="line.41"></a> +<span class="sourceLineNo">042</span>@Category({IOTests.class, SmallTests.class})<a name="line.42"></a> +<span class="sourceLineNo">043</span>public class TestBlockCacheReporting {<a name="line.43"></a> +<span class="sourceLineNo">044</span><a name="line.44"></a> +<span class="sourceLineNo">045</span> @ClassRule<a name="line.45"></a> +<span class="sourceLineNo">046</span> public static final HBaseClassTestRule CLASS_RULE =<a name="line.46"></a> +<span class="sourceLineNo">047</span> HBaseClassTestRule.forClass(TestBlockCacheReporting.class);<a name="line.47"></a> +<span class="sourceLineNo">048</span><a name="line.48"></a> +<span class="sourceLineNo">049</span> private static final Logger LOG = LoggerFactory.getLogger(TestBlockCacheReporting.class);<a name="line.49"></a> +<span class="sourceLineNo">050</span> private Configuration conf;<a name="line.50"></a> +<span class="sourceLineNo">051</span><a name="line.51"></a> +<span class="sourceLineNo">052</span> @Before<a name="line.52"></a> +<span class="sourceLineNo">053</span> public void setUp() throws Exception {<a name="line.53"></a> +<span class="sourceLineNo">054</span> CacheConfig.clearGlobalInstances();<a name="line.54"></a> +<span class="sourceLineNo">055</span> this.conf = HBaseConfiguration.create();<a name="line.55"></a> +<span class="sourceLineNo">056</span> }<a name="line.56"></a> +<span class="sourceLineNo">057</span><a name="line.57"></a> +<span class="sourceLineNo">058</span> @After<a name="line.58"></a> +<span class="sourceLineNo">059</span> public void tearDown() throws Exception {<a name="line.59"></a> +<span class="sourceLineNo">060</span> // Let go of current block cache.<a name="line.60"></a> +<span class="sourceLineNo">061</span> CacheConfig.clearGlobalInstances();<a name="line.61"></a> +<span class="sourceLineNo">062</span> }<a name="line.62"></a> +<span class="sourceLineNo">063</span><a name="line.63"></a> +<span class="sourceLineNo">064</span> private void addDataAndHits(final BlockCache bc, final int count) {<a name="line.64"></a> +<span class="sourceLineNo">065</span> Cacheable dce = new DataCacheEntry();<a name="line.65"></a> +<span class="sourceLineNo">066</span> Cacheable ice = new IndexCacheEntry();<a name="line.66"></a> +<span class="sourceLineNo">067</span> for (int i = 0; i < count; i++) {<a name="line.67"></a> +<span class="sourceLineNo">068</span> BlockCacheKey bckd = new BlockCacheKey("f", i);<a name="line.68"></a> +<span class="sourceLineNo">069</span> BlockCacheKey bcki = new BlockCacheKey("f", i + count);<a name="line.69"></a> +<span class="sourceLineNo">070</span> bc.getBlock(bckd, true, false, true);<a name="line.70"></a> +<span class="sourceLineNo">071</span> bc.cacheBlock(bckd, dce);<a name="line.71"></a> +<span class="sourceLineNo">072</span> bc.cacheBlock(bcki, ice);<a name="line.72"></a> +<span class="sourceLineNo">073</span> bc.getBlock(bckd, true, false, true);<a name="line.73"></a> +<span class="sourceLineNo">074</span> bc.getBlock(bcki, true, false, true);<a name="line.74"></a> +<span class="sourceLineNo">075</span> }<a name="line.75"></a> +<span class="sourceLineNo">076</span> assertEquals(2 * count /*Data and Index blocks*/, bc.getStats().getHitCount());<a name="line.76"></a> +<span class="sourceLineNo">077</span> BlockCacheKey bckd = new BlockCacheKey("f", 0);<a name="line.77"></a> +<span class="sourceLineNo">078</span> BlockCacheKey bcki = new BlockCacheKey("f", 0 + count);<a name="line.78"></a> +<span class="sourceLineNo">079</span> bc.evictBlock(bckd);<a name="line.79"></a> +<span class="sourceLineNo">080</span> bc.evictBlock(bcki);<a name="line.80"></a> +<span class="sourceLineNo">081</span> bc.getStats().getEvictedCount();<a name="line.81"></a> +<span class="sourceLineNo">082</span> }<a name="line.82"></a> +<span class="sourceLineNo">083</span><a name="line.83"></a> +<span class="sourceLineNo">084</span> @Test<a name="line.84"></a> +<span class="sourceLineNo">085</span> public void testBucketCache() throws IOException {<a name="line.85"></a> +<span class="sourceLineNo">086</span> this.conf.set(HConstants.BUCKET_CACHE_IOENGINE_KEY, "offheap");<a name="line.86"></a> +<span class="sourceLineNo">087</span> this.conf.setInt(HConstants.BUCKET_CACHE_SIZE_KEY, 100);<a name="line.87"></a> +<span class="sourceLineNo">088</span> CacheConfig.instantiateBlockCache(this.conf);<a name="line.88"></a> +<span class="sourceLineNo">089</span> CacheConfig cc = new CacheConfig(this.conf);<a name="line.89"></a> +<span class="sourceLineNo">090</span> assertTrue(cc.getBlockCache() instanceof CombinedBlockCache);<a name="line.90"></a> +<span class="sourceLineNo">091</span> logPerBlock(cc.getBlockCache());<a name="line.91"></a> +<span class="sourceLineNo">092</span> final int count = 3;<a name="line.92"></a> +<span class="sourceLineNo">093</span> addDataAndHits(cc.getBlockCache(), count);<a name="line.93"></a> +<span class="sourceLineNo">094</span> // The below has no asserts. It is just exercising toString and toJSON code.<a name="line.94"></a> +<span class="sourceLineNo">095</span> LOG.info(Objects.toString(cc.getBlockCache().getStats()));<a name="line.95"></a> +<span class="sourceLineNo">096</span> BlockCacheUtil.CachedBlocksByFile cbsbf = logPerBlock(cc.getBlockCache());<a name="line.96"></a> +<span class="sourceLineNo">097</span> LOG.info(Objects.toString(cbsbf));<a name="line.97"></a> +<span class="sourceLineNo">098</span> logPerFile(cbsbf);<a name="line.98"></a> +<span class="sourceLineNo">099</span> bucketCacheReport(cc.getBlockCache());<a name="line.99"></a> +<span class="sourceLineNo">100</span> LOG.info(BlockCacheUtil.toJSON(cbsbf));<a name="line.100"></a> +<span class="sourceLineNo">101</span> }<a name="line.101"></a> +<span class="sourceLineNo">102</span><a name="line.102"></a> +<span class="sourceLineNo">103</span> @Test<a name="line.103"></a> +<span class="sourceLineNo">104</span> public void testLruBlockCache() throws IOException {<a name="line.104"></a> +<span class="sourceLineNo">105</span> CacheConfig.instantiateBlockCache(this.conf);<a name="line.105"></a> <span class="sourceLineNo">106</span> CacheConfig cc = new CacheConfig(this.conf);<a name="line.106"></a> <span class="sourceLineNo">107</span> assertTrue(cc.isBlockCacheEnabled());<a name="line.107"></a> <span class="sourceLineNo">108</span> assertTrue(CacheConfig.DEFAULT_IN_MEMORY == cc.isInMemory());<a name="line.108"></a> @@ -139,40 +139,38 @@ <span class="sourceLineNo">131</span> }<a name="line.131"></a> <span class="sourceLineNo">132</span> }<a name="line.132"></a> <span class="sourceLineNo">133</span><a name="line.133"></a> -<span class="sourceLineNo">134</span> private void logPerFile(final BlockCacheUtil.CachedBlocksByFile cbsbf)<a name="line.134"></a> -<span class="sourceLineNo">135</span> throws JsonGenerationException, JsonMappingException, IOException {<a name="line.135"></a> -<span class="sourceLineNo">136</span> for (Map.Entry<String, NavigableSet<CachedBlock>> e:<a name="line.136"></a> -<span class="sourceLineNo">137</span> cbsbf.getCachedBlockStatsByFile().entrySet()) {<a name="line.137"></a> -<span class="sourceLineNo">138</span> int count = 0;<a name="line.138"></a> -<span class="sourceLineNo">139</span> long size = 0;<a name="line.139"></a> -<span class="sourceLineNo">140</span> int countData = 0;<a name="line.140"></a> -<span class="sourceLineNo">141</span> long sizeData = 0;<a name="line.141"></a> -<span class="sourceLineNo">142</span> for (CachedBlock cb: e.getValue()) {<a name="line.142"></a> -<span class="sourceLineNo">143</span> count++;<a name="line.143"></a> -<span class="sourceLineNo">144</span> size += cb.getSize();<a name="line.144"></a> -<span class="sourceLineNo">145</span> BlockType bt = cb.getBlockType();<a name="line.145"></a> -<span class="sourceLineNo">146</span> if (bt != null && bt.isData()) {<a name="line.146"></a> -<span class="sourceLineNo">147</span> countData++;<a name="line.147"></a> -<span class="sourceLineNo">148</span> sizeData += cb.getSize();<a name="line.148"></a> -<span class="sourceLineNo">149</span> }<a name="line.149"></a> -<span class="sourceLineNo">150</span> }<a name="line.150"></a> -<span class="sourceLineNo">151</span> LOG.info("filename=" + e.getKey() + ", count=" + count + ", countData=" + countData +<a name="line.151"></a> -<span class="sourceLineNo">152</span> ", size=" + size + ", sizeData=" + sizeData);<a name="line.152"></a> -<span class="sourceLineNo">153</span> LOG.info(BlockCacheUtil.toJSON(e.getKey(), e.getValue()));<a name="line.153"></a> -<span class="sourceLineNo">154</span> }<a name="line.154"></a> -<span class="sourceLineNo">155</span> }<a name="line.155"></a> -<span class="sourceLineNo">156</span><a name="line.156"></a> -<span class="sourceLineNo">157</span> private BlockCacheUtil.CachedBlocksByFile logPerBlock(final BlockCache bc)<a name="line.157"></a> -<span class="sourceLineNo">158</span> throws JsonGenerationException, JsonMappingException, IOException {<a name="line.158"></a> -<span class="sourceLineNo">159</span> BlockCacheUtil.CachedBlocksByFile cbsbf = new BlockCacheUtil.CachedBlocksByFile();<a name="line.159"></a> -<span class="sourceLineNo">160</span> for (CachedBlock cb: bc) {<a name="line.160"></a> -<span class="sourceLineNo">161</span> LOG.info(cb.toString());<a name="line.161"></a> -<span class="sourceLineNo">162</span> LOG.info(BlockCacheUtil.toJSON(bc));<a name="line.162"></a> -<span class="sourceLineNo">163</span> cbsbf.update(cb);<a name="line.163"></a> -<span class="sourceLineNo">164</span> }<a name="line.164"></a> -<span class="sourceLineNo">165</span> return cbsbf;<a name="line.165"></a> -<span class="sourceLineNo">166</span> }<a name="line.166"></a> -<span class="sourceLineNo">167</span>}<a name="line.167"></a> +<span class="sourceLineNo">134</span> private void logPerFile(final BlockCacheUtil.CachedBlocksByFile cbsbf) throws IOException {<a name="line.134"></a> +<span class="sourceLineNo">135</span> for (Map.Entry<String, NavigableSet<CachedBlock>> e:<a name="line.135"></a> +<span class="sourceLineNo">136</span> cbsbf.getCachedBlockStatsByFile().entrySet()) {<a name="line.136"></a> +<span class="sourceLineNo">137</span> int count = 0;<a name="line.137"></a> +<span class="sourceLineNo">138</span> long size = 0;<a name="line.138"></a> +<span class="sourceLineNo">139</span> int countData = 0;<a name="line.139"></a> +<span class="sourceLineNo">140</span> long sizeData = 0;<a name="line.140"></a> +<span class="sourceLineNo">141</span> for (CachedBlock cb: e.getValue()) {<a name="line.141"></a> +<span class="sourceLineNo">142</span> count++;<a name="line.142"></a> +<span class="sourceLineNo">143</span> size += cb.getSize();<a name="line.143"></a> +<span class="sourceLineNo">144</span> BlockType bt = cb.getBlockType();<a name="line.144"></a> +<span class="sourceLineNo">145</span> if (bt != null && bt.isData()) {<a name="line.145"></a> +<span class="sourceLineNo">146</span> countData++;<a name="line.146"></a> +<span class="sourceLineNo">147</span> sizeData += cb.getSize();<a name="line.147"></a> +<span class="sourceLineNo">148</span> }<a name="line.148"></a> +<span class="sourceLineNo">149</span> }<a name="line.149"></a> +<span class="sourceLineNo">150</span> LOG.info("filename=" + e.getKey() + ", count=" + count + ", countData=" + countData +<a name="line.150"></a> +<span class="sourceLineNo">151</span> ", size=" + size + ", sizeData=" + sizeData);<a name="line.151"></a> +<span class="sourceLineNo">152</span> LOG.info(BlockCacheUtil.toJSON(e.getKey(), e.getValue()));<a name="line.152"></a> +<span class="sourceLineNo">153</span> }<a name="line.153"></a> +<span class="sourceLineNo">154</span> }<a name="line.154"></a> +<span class="sourceLineNo">155</span><a name="line.155"></a> +<span class="sourceLineNo">156</span> private BlockCacheUtil.CachedBlocksByFile logPerBlock(final BlockCache bc) throws IOException {<a name="line.156"></a> +<span class="sourceLineNo">157</span> BlockCacheUtil.CachedBlocksByFile cbsbf = new BlockCacheUtil.CachedBlocksByFile();<a name="line.157"></a> +<span class="sourceLineNo">158</span> for (CachedBlock cb : bc) {<a name="line.158"></a> +<span class="sourceLineNo">159</span> LOG.info(cb.toString());<a name="line.159"></a> +<span class="sourceLineNo">160</span> LOG.info(BlockCacheUtil.toJSON(bc));<a name="line.160"></a> +<span class="sourceLineNo">161</span> cbsbf.update(cb);<a name="line.161"></a> +<span class="sourceLineNo">162</span> }<a name="line.162"></a> +<span class="sourceLineNo">163</span> return cbsbf;<a name="line.163"></a> +<span class="sourceLineNo">164</span> }<a name="line.164"></a> +<span class="sourceLineNo">165</span>}<a name="line.165"></a>