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

[01/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 69231ea4c -> 3fb12ee1e


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.html
index 84d8465..cf3e8d1 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.html
@@ -28,443 +28,450 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>package org.apache.hadoop.hbase.util;<a name="line.21"></a>
 <span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.lang.reflect.Field;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.lang.reflect.Modifier;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">023</span>import com.google.common.annotations.VisibleForTesting;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Field;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.lang.reflect.Modifier;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.31"></a>
 <span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * Class for determining the "size" of a class, an attempt to calculate the<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * actual bytes that an object of this class will occupy in memory<a name="line.35"></a>
-<span class="sourceLineNo">036</span> *<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * The core of this class is taken from the Derby project<a name="line.37"></a>
-<span class="sourceLineNo">038</span> */<a name="line.38"></a>
-<span class="sourceLineNo">039</span>@InterfaceAudience.Private<a name="line.39"></a>
-<span class="sourceLineNo">040</span>public class ClassSize {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private static final Log LOG = LogFactory.getLog(ClassSize.class);<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  /** Array overhead */<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public static final int ARRAY;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  /** Overhead for ArrayList(0) */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public static final int ARRAYLIST;<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  /** Overhead for LinkedList(0) */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public static final int LINKEDLIST;<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>  /** Overhead for a single entry in LinkedList */<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  public static final int LINKEDLIST_ENTRY;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  /** Overhead for ByteBuffer */<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public static final int BYTE_BUFFER;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  /** Overhead for an Integer */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final int INTEGER;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /** Overhead for entry in map */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  public static final int MAP_ENTRY;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  /** Object overhead is minimum 2 * reference size (8 bytes on 64-bit) */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final int OBJECT;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  /** Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public static final int REFERENCE;<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  /** String overhead */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public static final int STRING;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  /** Overhead for TreeMap */<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final int TREEMAP;<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  /** Overhead for ConcurrentHashMap */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final int CONCURRENT_HASHMAP;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  /** Overhead for ConcurrentHashMap.Entry */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public static final int CONCURRENT_HASHMAP_ENTRY;<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  /** Overhead for ConcurrentHashMap.Segment */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  public static final int CONCURRENT_HASHMAP_SEGMENT;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Overhead for ConcurrentSkipListMap */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public static final int CONCURRENT_SKIPLISTMAP;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  /** Overhead for ConcurrentSkipListMap Entry */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public static final int CONCURRENT_SKIPLISTMAP_ENTRY;<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  /** Overhead for CellArrayMap */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public static final int CELL_ARRAY_MAP;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /** Overhead for Cell Array Entry */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public static final int CELL_ARRAY_MAP_ENTRY;<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /** Overhead for ReentrantReadWriteLock */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public static final int REENTRANT_LOCK;<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  /** Overhead for AtomicLong */<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public static final int ATOMIC_LONG;<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /** Overhead for AtomicInteger */<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  public static final int ATOMIC_INTEGER;<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>  /** Overhead for AtomicBoolean */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public static final int ATOMIC_BOOLEAN;<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>  /** Overhead for AtomicReference */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public static final int ATOMIC_REFERENCE;<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  /** Overhead for CopyOnWriteArraySet */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public static final int COPYONWRITE_ARRAYSET;<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Overhead for CopyOnWriteArrayList */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static final int COPYONWRITE_ARRAYLIST;<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  /** Overhead for timerange */<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public static final int TIMERANGE;<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /** Overhead for TimeRangeTracker */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  public static final int TIMERANGE_TRACKER;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  /** Overhead for CellSkipListSet */<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public static final int CELL_SET;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  public static final int STORE_SERVICES;<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  /* Are we running on jdk7? */<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  private static final boolean JDK7;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  static {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    final String version = System.getProperty("java.version");<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    // Verify String looks like this: 1.6.0_29<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (version == null || !version.matches("\\d\\.\\d\\..*")) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      throw new RuntimeException("Unexpected version format: " + version);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    // Convert char to int<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    int major = (int)(version.charAt(0) - '0');<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    int minor = (int)(version.charAt(2) - '0');<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    JDK7 = major == 1 &amp;&amp; minor == 7;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * MemoryLayout abstracts details about the JVM object layout. Default implementation is used in<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * case Unsafe is not available.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  private static class MemoryLayout {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    int headerSize() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      return 2 * oopSize();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>    int arrayHeaderSize() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      return (int) align(3 * oopSize());<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>     * Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,<a name="line.157"></a>
-<span class="sourceLineNo">158</span>     * and CompressedOops<a name="line.158"></a>
-<span class="sourceLineNo">159</span>     */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    int oopSize() {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return is32BitJVM() ? 4 : 8;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    /**<a name="line.164"></a>
-<span class="sourceLineNo">165</span>     * Aligns a number to 8.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>     * @param num number to align to 8<a name="line.166"></a>
-<span class="sourceLineNo">167</span>     * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.167"></a>
-<span class="sourceLineNo">168</span>     */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public long align(long num) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      //The 7 comes from that the alignSize is 8 which is the number of bytes<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      //stored and sent together<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      return  ((num + 7) &gt;&gt; 3) &lt;&lt; 3;<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>    long sizeOf(byte[] b, int len) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return align(arrayHeaderSize() + len);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * sizes and oop sizes<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * See HBASE-15950.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private static class UnsafeLayout extends MemoryLayout {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    @SuppressWarnings("unused")<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    private static final class HeaderSize {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      private byte a;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public UnsafeLayout() {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    }<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    int headerSize() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      try {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        return (int) UnsafeAccess.theUnsafe.objectFieldOffset(<a name="line.197"></a>
-<span class="sourceLineNo">198</span>          HeaderSize.class.getDeclaredField("a"));<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      } catch (NoSuchFieldException | SecurityException e) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        LOG.error(e);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      return super.headerSize();<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    int arrayHeaderSize() {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return UnsafeAccess.theUnsafe.arrayBaseOffset(byte[].class);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>    @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    @SuppressWarnings("static-access")<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    int oopSize() {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      // Unsafe.addressSize() returns 8, even with CompressedOops. This is how many bytes each<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      // element is allocated in an Object[].<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      return UnsafeAccess.theUnsafe.ARRAY_OBJECT_INDEX_SCALE;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>    @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    @SuppressWarnings("static-access")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    long sizeOf(byte[] b, int len) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      return align(arrayHeaderSize() + len * UnsafeAccess.theUnsafe.ARRAY_BYTE_INDEX_SCALE);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static MemoryLayout getMemoryLayout() {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    // Have a safeguard in case Unsafe estimate is wrong. This is static context, there is<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // no configuration, so we look at System property.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    String enabled = System.getProperty("hbase.memorylayout.use.unsafe");<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    if (UnsafeAvailChecker.isAvailable() &amp;&amp; (enabled == null || Boolean.parseBoolean(enabled))) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      LOG.debug("Using Unsafe to estimate memory layout");<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      return new UnsafeLayout();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    LOG.debug("Not using Unsafe to estimate memory layout");<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    return new MemoryLayout();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private static final MemoryLayout memoryLayout = getMemoryLayout();<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Method for reading the arc settings and setting overheads according<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * to 32-bit or 64-bit architecture.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  static {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    REFERENCE = memoryLayout.oopSize();<a name="line.244"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Class for determining the "size" of a class, an attempt to calculate the<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * actual bytes that an object of this class will occupy in memory<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * The core of this class is taken from the Derby project<a name="line.38"></a>
+<span class="sourceLineNo">039</span> */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>@InterfaceAudience.Private<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public class ClassSize {<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  private static final Log LOG = LogFactory.getLog(ClassSize.class);<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>  /** Array overhead */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public static final int ARRAY;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  /** Overhead for ArrayList(0) */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public static final int ARRAYLIST;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  /** Overhead for LinkedList(0) */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public static final int LINKEDLIST;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>  /** Overhead for a single entry in LinkedList */<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public static final int LINKEDLIST_ENTRY;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  /** Overhead for ByteBuffer */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public static final int BYTE_BUFFER;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /** Overhead for an Integer */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final int INTEGER;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  /** Overhead for entry in map */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public static final int MAP_ENTRY;<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  /** Object overhead is minimum 2 * reference size (8 bytes on 64-bit) */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public static final int OBJECT;<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /** Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public static final int REFERENCE;<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  /** String overhead */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  public static final int STRING;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  /** Overhead for TreeMap */<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final int TREEMAP;<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  /** Overhead for ConcurrentHashMap */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final int CONCURRENT_HASHMAP;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  /** Overhead for ConcurrentHashMap.Entry */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  public static final int CONCURRENT_HASHMAP_ENTRY;<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /** Overhead for ConcurrentHashMap.Segment */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public static final int CONCURRENT_HASHMAP_SEGMENT;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /** Overhead for ConcurrentSkipListMap */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public static final int CONCURRENT_SKIPLISTMAP;<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>  /** Overhead for ConcurrentSkipListMap Entry */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public static final int CONCURRENT_SKIPLISTMAP_ENTRY;<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>  /** Overhead for CellArrayMap */<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public static final int CELL_ARRAY_MAP;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  /** Overhead for Cell Array Entry */<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public static final int CELL_ARRAY_MAP_ENTRY;<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /** Overhead for ReentrantReadWriteLock */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public static final int REENTRANT_LOCK;<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  /** Overhead for AtomicLong */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  public static final int ATOMIC_LONG;<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /** Overhead for AtomicInteger */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  public static final int ATOMIC_INTEGER;<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  /** Overhead for AtomicBoolean */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public static final int ATOMIC_BOOLEAN;<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /** Overhead for AtomicReference */<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public static final int ATOMIC_REFERENCE;<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  /** Overhead for CopyOnWriteArraySet */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public static final int COPYONWRITE_ARRAYSET;<a name="line.114"></a>
+<span class="sourceLineNo">115</span><a name="line.115"></a>
+<span class="sourceLineNo">116</span>  /** Overhead for CopyOnWriteArrayList */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static final int COPYONWRITE_ARRAYLIST;<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  /** Overhead for timerange */<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public static final int TIMERANGE;<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /** Overhead for TimeRangeTracker */<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  public static final int TIMERANGE_TRACKER;<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>  /** Overhead for CellSkipListSet */<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public static final int CELL_SET;<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>  public static final int STORE_SERVICES;<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span>  /* Are we running on jdk7? */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  private static final boolean JDK7;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  static {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    final String version = System.getProperty("java.version");<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    // Verify String looks like this: 1.6.0_29<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    if (version == null || !version.matches("\\d\\.\\d\\..*")) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      throw new RuntimeException("Unexpected version format: " + version);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    // Convert char to int<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    int major = (int)(version.charAt(0) - '0');<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    int minor = (int)(version.charAt(2) - '0');<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    JDK7 = major == 1 &amp;&amp; minor == 7;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * MemoryLayout abstracts details about the JVM object layout. Default implementation is used in<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * case Unsafe is not available.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  private static class MemoryLayout {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    int headerSize() {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      return 2 * oopSize();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>    int arrayHeaderSize() {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return (int) align(3 * oopSize());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    /**<a name="line.157"></a>
+<span class="sourceLineNo">158</span>     * Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,<a name="line.158"></a>
+<span class="sourceLineNo">159</span>     * and CompressedOops<a name="line.159"></a>
+<span class="sourceLineNo">160</span>     */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    int oopSize() {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      return is32BitJVM() ? 4 : 8;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    /**<a name="line.165"></a>
+<span class="sourceLineNo">166</span>     * Aligns a number to 8.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>     * @param num number to align to 8<a name="line.167"></a>
+<span class="sourceLineNo">168</span>     * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.168"></a>
+<span class="sourceLineNo">169</span>     */<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    public long align(long num) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      //The 7 comes from that the alignSize is 8 which is the number of bytes<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      //stored and sent together<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      return  ((num + 7) &gt;&gt; 3) &lt;&lt; 3;<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>    long sizeOf(byte[] b, int len) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      return align(arrayHeaderSize() + len);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * sizes and oop sizes<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * See HBASE-15950.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  private static class UnsafeLayout extends MemoryLayout {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    @SuppressWarnings("unused")<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    private static final class HeaderSize {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      private byte a;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>    public UnsafeLayout() {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span>    @Override<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    int headerSize() {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      try {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        return (int) UnsafeAccess.theUnsafe.objectFieldOffset(<a name="line.198"></a>
+<span class="sourceLineNo">199</span>          HeaderSize.class.getDeclaredField("a"));<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      } catch (NoSuchFieldException | SecurityException e) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        LOG.error(e);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return super.headerSize();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    @Override<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    int arrayHeaderSize() {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return UnsafeAccess.theUnsafe.arrayBaseOffset(byte[].class);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>    @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    @SuppressWarnings("static-access")<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    int oopSize() {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      // Unsafe.addressSize() returns 8, even with CompressedOops. This is how many bytes each<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      // element is allocated in an Object[].<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return UnsafeAccess.theUnsafe.ARRAY_OBJECT_INDEX_SCALE;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    @SuppressWarnings("static-access")<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    long sizeOf(byte[] b, int len) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return align(arrayHeaderSize() + len * UnsafeAccess.theUnsafe.ARRAY_BYTE_INDEX_SCALE);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  private static MemoryLayout getMemoryLayout() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    // Have a safeguard in case Unsafe estimate is wrong. This is static context, there is<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    // no configuration, so we look at System property.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    String enabled = System.getProperty("hbase.memorylayout.use.unsafe");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    if (UnsafeAvailChecker.isAvailable() &amp;&amp; (enabled == null || Boolean.parseBoolean(enabled))) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      LOG.debug("Using Unsafe to estimate memory layout");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      return new UnsafeLayout();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    LOG.debug("Not using Unsafe to estimate memory layout");<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    return new MemoryLayout();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  private static final MemoryLayout memoryLayout = getMemoryLayout();<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  private static final boolean USE_UNSAFE_LAYOUT = (memoryLayout instanceof UnsafeLayout);<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  @VisibleForTesting<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  public static boolean useUnsafeLayout() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    return USE_UNSAFE_LAYOUT;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
 <span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>    OBJECT = memoryLayout.headerSize();<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>    ARRAY = memoryLayout.arrayHeaderSize();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>    ARRAYLIST = align(OBJECT + REFERENCE + (2 * Bytes.SIZEOF_INT)) + align(ARRAY);<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    LINKEDLIST = align(OBJECT + (2 * Bytes.SIZEOF_INT) + (2 * REFERENCE));<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>    LINKEDLIST_ENTRY = align(OBJECT + (2 * REFERENCE));<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    //noinspection PointlessArithmeticExpression<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    BYTE_BUFFER = align(OBJECT + REFERENCE +<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        (5 * Bytes.SIZEOF_INT) +<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        (3 * Bytes.SIZEOF_BOOLEAN) + Bytes.SIZEOF_LONG) + align(ARRAY);<a name="line.259"></a>
+<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   * Method for reading the arc settings and setting overheads according<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * to 32-bit or 64-bit architecture.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  static {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    REFERENCE = memoryLayout.oopSize();<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>    OBJECT = memoryLayout.headerSize();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>    ARRAY = memoryLayout.arrayHeaderSize();<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>    ARRAYLIST = align(OBJECT + REFERENCE + (2 * Bytes.SIZEOF_INT)) + align(ARRAY);<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>    LINKEDLIST = align(OBJECT + (2 * Bytes.SIZEOF_INT) + (2 * REFERENCE));<a name="line.259"></a>
 <span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>    INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.261"></a>
+<span class="sourceLineNo">261</span>    LINKEDLIST_ENTRY = align(OBJECT + (2 * REFERENCE));<a name="line.261"></a>
 <span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>    MAP_ENTRY = align(OBJECT + 5 * REFERENCE + Bytes.SIZEOF_BOOLEAN);<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    TREEMAP = align(OBJECT + (2 * Bytes.SIZEOF_INT) + 7 * REFERENCE);<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    // STRING is different size in jdk6 and jdk7. Just use what we estimate as size rather than<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    // have a conditional on whether jdk7.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    STRING = (int) estimateBase(String.class, false);<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>    // CONCURRENT_HASHMAP is different size in jdk6 and jdk7; it looks like its different between<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    // 23.6-b03 and 23.0-b21. Just use what we estimate as size rather than have a conditional on<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    // whether jdk7.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    CONCURRENT_HASHMAP = (int) estimateBase(ConcurrentHashMap.class, false);<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    CONCURRENT_HASHMAP_ENTRY = align(REFERENCE + OBJECT + (3 * REFERENCE) +<a name="line.276"></a>
-<span class="sourceLineNo">277</span>        (2 * Bytes.SIZEOF_INT));<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    CONCURRENT_HASHMAP_SEGMENT = align(REFERENCE + OBJECT +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        (3 * Bytes.SIZEOF_INT) + Bytes.SIZEOF_FLOAT + ARRAY);<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>    // The size changes from jdk7 to jdk8, estimate the size rather than use a conditional<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    CONCURRENT_SKIPLISTMAP = (int) estimateBase(ConcurrentSkipListMap.class, false);<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    // CELL_ARRAY_MAP is the size of an instance of CellArrayMap class, which extends<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    // CellFlatMap class. CellArrayMap object containing a ref to an Array, so<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    // OBJECT + REFERENCE + ARRAY<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // CellFlatMap object contains two integers, one boolean and one reference to object, so<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    // 2*INT + BOOLEAN + REFERENCE<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    CELL_ARRAY_MAP = align(OBJECT + 2*Bytes.SIZEOF_INT + Bytes.SIZEOF_BOOLEAN<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        + ARRAY + 2*REFERENCE);<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    CONCURRENT_SKIPLISTMAP_ENTRY = align(<a name="line.293"></a>
-<span class="sourceLineNo">294</span>        align(OBJECT + (3 * REFERENCE)) + /* one node per entry */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        align((OBJECT + (3 * REFERENCE))/2)); /* one index per two entries */<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>    // REFERENCE in the CellArrayMap all the rest is counted in KeyValue.heapSize()<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    CELL_ARRAY_MAP_ENTRY = align(REFERENCE);<a name="line.298"></a>
+<span class="sourceLineNo">263</span>    //noinspection PointlessArithmeticExpression<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    BYTE_BUFFER = align(OBJECT + REFERENCE +<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        (5 * Bytes.SIZEOF_INT) +<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        (3 * Bytes.SIZEOF_BOOLEAN) + Bytes.SIZEOF_LONG) + align(ARRAY);<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>    INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    MAP_ENTRY = align(OBJECT + 5 * REFERENCE + Bytes.SIZEOF_BOOLEAN);<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    TREEMAP = align(OBJECT + (2 * Bytes.SIZEOF_INT) + 7 * REFERENCE);<a name="line.272"></a>
+<span class="sourceLineNo">273</span><a name="line.273"></a>
+<span class="sourceLineNo">274</span>    // STRING is different size in jdk6 and jdk7. Just use what we estimate as size rather than<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    // have a conditional on whether jdk7.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    STRING = (int) estimateBase(String.class, false);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>    // CONCURRENT_HASHMAP is different size in jdk6 and jdk7; it looks like its different between<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    // 23.6-b03 and 23.0-b21. Just use what we estimate as size rather than have a conditional on<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    // whether jdk7.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    CONCURRENT_HASHMAP = (int) estimateBase(ConcurrentHashMap.class, false);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>    CONCURRENT_HASHMAP_ENTRY = align(REFERENCE + OBJECT + (3 * REFERENCE) +<a name="line.283"></a>
+<span class="sourceLineNo">284</span>        (2 * Bytes.SIZEOF_INT));<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    CONCURRENT_HASHMAP_SEGMENT = align(REFERENCE + OBJECT +<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        (3 * Bytes.SIZEOF_INT) + Bytes.SIZEOF_FLOAT + ARRAY);<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span>    // The size changes from jdk7 to jdk8, estimate the size rather than use a conditional<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    CONCURRENT_SKIPLISTMAP = (int) estimateBase(ConcurrentSkipListMap.class, false);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // CELL_ARRAY_MAP is the size of an instance of CellArrayMap class, which extends<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    // CellFlatMap class. CellArrayMap object containing a ref to an Array, so<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    // OBJECT + REFERENCE + ARRAY<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    // CellFlatMap object contains two integers, one boolean and one reference to object, so<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    // 2*INT + BOOLEAN + REFERENCE<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    CELL_ARRAY_MAP = align(OBJECT + 2*Bytes.SIZEOF_INT + Bytes.SIZEOF_BOOLEAN<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        + ARRAY + 2*REFERENCE);<a name="line.298"></a>
 <span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>    REENTRANT_LOCK = align(OBJECT + (3 * REFERENCE));<a name="line.300"></a>
-<span class="sourceLineNo">301</span><a name="line.301"></a>
-<span class="sourceLineNo">302</span>    ATOMIC_LONG = align(OBJECT + Bytes.SIZEOF_LONG);<a name="line.302"></a>
+<span class="sourceLineNo">300</span>    CONCURRENT_SKIPLISTMAP_ENTRY = align(<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        align(OBJECT + (3 * REFERENCE)) + /* one node per entry */<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        align((OBJECT + (3 * REFERENCE))/2)); /* one index per two entries */<a name="line.302"></a>
 <span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    ATOMIC_INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ATOMIC_BOOLEAN = align(OBJECT + Bytes.SIZEOF_BOOLEAN);<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    ATOMIC_REFERENCE = align(OBJECT + REFERENCE);<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    COPYONWRITE_ARRAYSET = align(OBJECT + REFERENCE);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    COPYONWRITE_ARRAYLIST = align(OBJECT + (2 * REFERENCE) + ARRAY);<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    TIMERANGE = align(ClassSize.OBJECT + Bytes.SIZEOF_LONG * 2 + Bytes.SIZEOF_BOOLEAN);<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>    TIMERANGE_TRACKER = align(ClassSize.OBJECT + 2 * REFERENCE);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CELL_SET = align(OBJECT + REFERENCE);<a name="line.317"></a>
+<span class="sourceLineNo">304</span>    // REFERENCE in the CellArrayMap all the rest is counted in KeyValue.heapSize()<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    CELL_ARRAY_MAP_ENTRY = align(REFERENCE);<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    REENTRANT_LOCK = align(OBJECT + (3 * REFERENCE));<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ATOMIC_LONG = align(OBJECT + Bytes.SIZEOF_LONG);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    ATOMIC_INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>    ATOMIC_BOOLEAN = align(OBJECT + Bytes.SIZEOF_BOOLEAN);<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    ATOMIC_REFERENCE = align(OBJECT + REFERENCE);<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>    COPYONWRITE_ARRAYSET = align(OBJECT + REFERENCE);<a name="line.317"></a>
 <span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>    STORE_SERVICES = align(OBJECT + REFERENCE + ATOMIC_LONG);<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * The estimate of the size of a class instance depends on whether the JVM<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * uses 32 or 64 bit addresses, that is it depends on the size of an object<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * reference. It is a linear function of the size of a reference, e.g.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * 24 + 5*r where r is the size of a reference (usually 4 or 8 bytes).<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * This method returns the coefficients of the linear function, e.g. {24, 5}<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * in the above example.<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   *<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param cl A class whose instance size is to be estimated<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @param debug debug flag<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @return an array of 3 integers. The first integer is the size of the<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * primitives, the second the number of arrays and the third the number of<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * references.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  @SuppressWarnings("unchecked")<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private static int [] getSizeCoefficients(Class cl, boolean debug) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int primitives = 0;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    int arrays = 0;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    int references = 0;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    int index = 0;<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>    for ( ; null != cl; cl = cl.getSuperclass()) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      Field[] field = cl.getDeclaredFields();<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      if (null != field) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        for (Field aField : field) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>          if (Modifier.isStatic(aField.getModifiers())) continue;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>          Class fieldClass = aField.getType();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>          if (fieldClass.isArray()) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>            arrays++;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            references++;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>          } else if (!fieldClass.isPrimitive()) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>            references++;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          } else {// Is simple primitive<a name="line.355"></a>
-<span class="sourceLineNo">356</span>            String name = fieldClass.getName();<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>            if (name.equals("int") || name.equals("I"))<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              primitives += Bytes.SIZEOF_INT;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>            else if (name.equals("long") || name.equals("J"))<a name="line.360"></a>
-<span class="sourceLineNo">361</span>              primitives += Bytes.SIZEOF_LONG;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>            else if (name.equals("boolean") || name.equals("Z"))<a name="line.362"></a>
-<span class="sourceLineNo">363</span>              primitives += Bytes.SIZEOF_BOOLEAN;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>            else if (name.equals("short") || name.equals("S"))<a name="line.364"></a>
-<span class="sourceLineNo">365</span>              primitives += Bytes.SIZEOF_SHORT;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>            else if (name.equals("byte") || name.equals("B"))<a name="line.366"></a>
-<span class="sourceLineNo">367</span>              primitives += Bytes.SIZEOF_BYTE;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            else if (name.equals("char") || name.equals("C"))<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              primitives += Bytes.SIZEOF_CHAR;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>            else if (name.equals("float") || name.equals("F"))<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              primitives += Bytes.SIZEOF_FLOAT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>            else if (name.equals("double") || name.equals("D"))<a name="line.372"></a>
-<span class="sourceLineNo">373</span>              primitives += Bytes.SIZEOF_DOUBLE;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          if (debug) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>            if (LOG.isDebugEnabled()) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>              LOG.debug("" + index + " " + aField.getName() + " " + aField.getType());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>            }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          index++;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new int [] {primitives, arrays, references};<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Estimate the static space taken up by a class instance given the<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * coefficients returned by getSizeCoefficients.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   *<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param coeff the coefficients<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   *<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * @param debug debug flag<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * @return the size estimate, in bytes<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   */<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  private static long estimateBaseFromCoefficients(int [] coeff, boolean debug) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    long prealign_size = OBJECT + coeff[0] + coeff[2] * REFERENCE;<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Round up to a multiple of 8<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    long size = align(prealign_size) + align(coeff[1] * ARRAY);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    if (debug) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (LOG.isDebugEnabled()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        LOG.debug("Primitives=" + coeff[0] + ", arrays=" + coeff[1] +<a name="line.403"></a>
-<span class="sourceLineNo">404</span>            ", references=" + coeff[2] + ", refSize " + REFERENCE +<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            ", size=" + size + ", prealign_size=" + prealign_size);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      }<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    return size;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  /**<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * Estimate the static space taken up by the fields of a class. This includes<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * the space taken up by by references (the pointer) but not by the referenced<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * object. So the estimated size of an array field does not depend on the size<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * of the array. Similarly the size of an object (reference) field does not<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * depend on the object.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   *<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param cl class<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param debug debug flag<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * @return the size estimate in bytes.<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @SuppressWarnings("unchecked")<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public static long estimateBase(Class cl, boolean debug) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    return estimateBaseFromCoefficients( getSizeCoefficients(cl, debug), debug);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  /**<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * Aligns a number to 8.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param num number to align to 8<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public static int align(int num) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return (int)(align((long)num));<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  /**<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * Aligns a number to 8.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param num number to align to 8<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   */<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  public static long align(long num) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return memoryLayout.align(num);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Determines if we are running in a 32-bit JVM. Some unit tests need to<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * know this too.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   */<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  public static boolean is32BitJVM() {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    final String model = System.getProperty("sun.arch.data.model");<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    return model != null &amp;&amp; model.equals("32");<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
-<span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public static long sizeOf(byte[] b, int len) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return memoryLayout.sizeOf(b, len);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>}<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">319</span>    COPYONWRITE_ARRAYLIST = align(OBJECT + (2 * REFERENCE) + ARRAY);<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>    TIMERANGE = align(ClassSize.OBJECT + Bytes.SIZEOF_LONG * 2 + Bytes.SIZEOF_BOOLEAN);<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>    TIMERANGE_TRACKER = align(ClassSize.OBJECT + 2 * REFERENCE);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    CELL_SET = align(OBJECT + REFERENCE);<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    STORE_SERVICES = align(OBJECT + REFERENCE + ATOMIC_LONG);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * The estimate of the size of a class instance depends on whether the JVM<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * uses 32 or 64 bit addresses, that is it depends on the size of an object<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * reference. It is a linear function of the size of a reference, e.g.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * 24 + 5*r where r is the size of a reference (usually 4 or 8 bytes).<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   *<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * This method returns the coefficients of the linear function, e.g. {24, 5}<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * in the above example.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   *<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param cl A class whose instance size is to be estimated<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param debug debug flag<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return an array of 3 integers. The first integer is the size of the<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * primitives, the second the number of arrays and the third the number of<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * references.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  @SuppressWarnings("unchecked")<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  private static int [] getSizeCoefficients(Class cl, boolean debug) {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    int primitives = 0;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    int arrays = 0;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    int references = 0;<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    int index = 0;<a name="line.349"></a>
+<span class="sourceLineNo">350</span><a name="line.350"></a>
+<span class="sourceLineNo">351</span>    for ( ; null != cl; cl = cl.getSuperclass()) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      Field[] field = cl.getDeclaredFields();<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      if (null != field) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        for (Field aField : field) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          if (Modifier.isStatic(aField.getModifiers())) continue;<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          Class fieldClass = aField.getType();<a name="line.356"></a>
+<span class="sourceLineNo">357</span>          if (fieldClass.isArray()) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>            arrays++;<a name="line.358"></a>
+<span class="sourceLineNo">359</span>            references++;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          } else if (!fieldClass.isPrimitive()) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>            references++;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          } else {// Is simple primitive<a name="line.362"></a>
+<span class="sourceLineNo">363</span>            String name = fieldClass.getName();<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>            if (name.equals("int") || name.equals("I"))<a name="line.365"></a>
+<span class="sourceLineNo">366</span>              primitives += Bytes.SIZEOF_INT;<a name="line.366"></a>
+<span class="sourceLineNo">367</span>            else if (name.equals("long") || name.equals("J"))<a name="line.367"></a>
+<span class="sourceLineNo">368</span>              primitives += Bytes.SIZEOF_LONG;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>            else if (name.equals("boolean") || name.equals("Z"))<a name="line.369"></a>
+<span class="sourceLineNo">370</span>              primitives += Bytes.SIZEOF_BOOLEAN;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>            else if (name.equals("short") || name.equals("S"))<a name="line.371"></a>
+<span class="sourceLineNo">372</span>              primitives += Bytes.SIZEOF_SHORT;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>            else if (name.equals("byte") || name.equals("B"))<a name="line.373"></a>
+<span class="sourceLineNo">374</span>              primitives += Bytes.SIZEOF_BYTE;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>            else if (name.equals("char") || name.equals("C"))<a name="line.375"></a>
+<span class="sourceLineNo">376</span>              primitives += Bytes.SIZEOF_CHAR;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>            else if (name.equals("float") || name.equals("F"))<a name="line.377"></a>
+<span class="sourceLineNo">378</span>              primitives += Bytes.SIZEOF_FLOAT;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>            else if (name.equals("double") || name.equals("D"))<a name="line.379"></a>
+<span class="sourceLineNo">380</span>              primitives += Bytes.SIZEOF_DOUBLE;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          }<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (debug) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            if (LOG.isDebugEnabled()) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>              LOG.debug("" + index + " " + aField.getName() + " " + aField.getType());<a name="line.384"></a>
+<span class="sourceLineNo">385</span>            }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          }<a name="line.386"></a>
+<span class="sourceLineNo">387</span>          index++;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    return new int [] {primitives, arrays, references};<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>  /**<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * Estimate the static space taken up by a class instance given the<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * coefficients returned by getSizeCoefficients.<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * @param coeff the coefficients<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   *<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * @param debug debug flag<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @return the size estimate, in bytes<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  private static long estimateBaseFromCoefficients(int [] coeff, boolean debug) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    long prealign_size = OBJECT + coeff[0] + coeff[2] * REFERENCE;<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>    // Round up to a multiple of 8<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    long size = align(prealign_size) + align(coeff[1] * ARRAY);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    if (debug) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      if (LOG.isDebugEnabled()) {<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        LOG.debug("Primitives=" + coeff[0] + ", arrays=" + coeff[1] +<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            ", references=" + coeff[2] + ", refSize " + REFERENCE +<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            ", size=" + size + ", prealign_size=" + prealign_size);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    return size;<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  }<a name="line.416"></a>
+<span class="sourceLineNo">417</span><a name="line.417"></a>
+<span class="sourceLineNo">418</span>  /**<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * Estimate the static space taken up by the fields of a class. This includes<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * the space taken up by by references (the pointer) but not by the referenced<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * object. So the estimated size of an array field does not depend on the size<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * of the array. Similarly the size of an object (reference) field does not<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * depend on the object.<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   *<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * @param cl class<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param debug debug flag<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @return the size estimate in bytes.<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   */<a name="line.428"></a>
+<span class="sourceLineNo">429</span>  @SuppressWarnings("unchecked")<a name="line.429"></a>
+<span class="sourceLineNo">430</span>  public static long estimateBase(Class cl, boolean debug) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    return estimateBaseFromCoefficients( getSizeCoefficients(cl, debug), debug);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  /**<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * Aligns a number to 8.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * @param num number to align to 8<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  public static int align(int num) {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    return (int)(align((long)num));<a name="line.440"></a>
+<span class="sourceLineNo">441</span>  }<a name="line.441"></a>
+<span class="sourceLineNo">442</span><a name="line.442"></a>
+<span class="sourceLineNo">443</span>  /**<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * Aligns a number to 8.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * @param num number to align to 8<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
+<span class="sourceLineNo">448</span>  public static long align(long num) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    return memoryLayout.align(num);<a name="line.449"></a>
+<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span>  /**<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * Determines if we are running in a 32-bit JVM. Some unit tests need to<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * know this too.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  public static boolean is32BitJVM() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    final String model = System.getProperty("sun.arch.data.model");<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return model != null &amp;&amp; model.equals("32");<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  public static long sizeOf(byte[] b, int len) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return memoryLayout.sizeOf(b, len);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>}<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/testdevapidocs/src-html/org/apache/hadoop/hbase/io/TestHeapSize.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/io/TestHeapSize.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/io/TestHeapSize.html
index 97fd990..4962f92 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/io/TestHeapSize.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/io/TestHeapSize.html
@@ -352,7 +352,7 @@
 <span class="sourceLineNo">344</span>    cl = Segment.class;<a name="line.344"></a>
 <span class="sourceLineNo">345</span>    actual = Segment.DEEP_OVERHEAD;<a name="line.345"></a>
 <span class="sourceLineNo">346</span>    expected = ClassSize.estimateBase(cl, false);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    expected += ClassSize.estimateBase(AtomicLong.class, false);<a name="line.347"></a>
+<span class="sourceLineNo">347</span>    expected += 2 * ClassSize.estimateBase(AtomicLong.class, false);<a name="line.347"></a>
 <span class="sourceLineNo">348</span>    expected += ClassSize.estimateBase(AtomicReference.class, false);<a name="line.348"></a>
 <span class="sourceLineNo">349</span>    expected += ClassSize.estimateBase(CellSet.class, false);<a name="line.349"></a>
 <span class="sourceLineNo">350</span>    expected += ClassSize.estimateBase(TimeRangeTracker.class, false);<a name="line.350"></a>
@@ -369,7 +369,7 @@
 <span class="sourceLineNo">361</span>    cl = MutableSegment.class;<a name="line.361"></a>
 <span class="sourceLineNo">362</span>    actual = MutableSegment.DEEP_OVERHEAD;<a name="line.362"></a>
 <span class="sourceLineNo">363</span>    expected = ClassSize.estimateBase(cl, false);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    expected += ClassSize.estimateBase(AtomicLong.class, false);<a name="line.364"></a>
+<span class="sourceLineNo">364</span>    expected += 2 * ClassSize.estimateBase(AtomicLong.class, false);<a name="line.364"></a>
 <span class="sourceLineNo">365</span>    expected += ClassSize.estimateBase(AtomicReference.class, false);<a name="line.365"></a>
 <span class="sourceLineNo">366</span>    expected += ClassSize.estimateBase(CellSet.class, false);<a name="line.366"></a>
 <span class="sourceLineNo">367</span>    expected += ClassSize.estimateBase(TimeRangeTracker.class, false);<a name="line.367"></a>
@@ -388,7 +388,7 @@
 <span class="sourceLineNo">380</span>    cl = ImmutableSegment.class;<a name="line.380"></a>
 <span class="sourceLineNo">381</span>    actual = ImmutableSegment.DEEP_OVERHEAD_CSLM;<a name="line.381"></a>
 <span class="sourceLineNo">382</span>    expected = ClassSize.estimateBase(cl, false);<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    expected += ClassSize.estimateBase(AtomicLong.class, false);<a name="line.383"></a>
+<span class="sourceLineNo">383</span>    expected += 2 * ClassSize.estimateBase(AtomicLong.class, false);<a name="line.383"></a>
 <span class="sourceLineNo">384</span>    expected += ClassSize.estimateBase(AtomicReference.class, false);<a name="line.384"></a>
 <span class="sourceLineNo">385</span>    expected += ClassSize.estimateBase(CellSet.class, false);<a name="line.385"></a>
 <span class="sourceLineNo">386</span>    expected += ClassSize.estimateBase(TimeRangeTracker.class, false);<a name="line.386"></a>
@@ -406,7 +406,7 @@
 <span class="sourceLineNo">398</span>    }<a name="line.398"></a>
 <span class="sourceLineNo">399</span>    actual = ImmutableSegment.DEEP_OVERHEAD_CAM;<a name="line.399"></a>
 <span class="sourceLineNo">400</span>    expected = ClassSize.estimateBase(cl, false);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    expected += ClassSize.estimateBase(AtomicLong.class, false);<a name="line.401"></a>
+<span class="sourceLineNo">401</span>    expected += 2 * ClassSize.estimateBase(AtomicLong.class, false);<a name="line.401"></a>
 <span class="sourceLineNo">402</span>    expected += ClassSize.estimateBase(AtomicReference.class, false);<a name="line.402"></a>
 <span class="sourceLineNo">403</span>    expected += ClassSize.estimateBase(CellSet.class, false);<a name="line.403"></a>
 <span class="sourceLineNo">404</span>    expected += ClassSize.estimateBase(TimeRangeTracker.class, false);<a name="line.404"></a>
@@ -512,11 +512,14 @@
 <span class="sourceLineNo">504</span>    } else {<a name="line.504"></a>
 <span class="sourceLineNo">505</span>      assertTrue(ClassSize.OBJECT == 12 || ClassSize.OBJECT == 16); // depending on CompressedOops<a name="line.505"></a>
 <span class="sourceLineNo">506</span>    }<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    assertEquals(ClassSize.OBJECT + 4, ClassSize.ARRAY);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>  }<a name="line.508"></a>
-<span class="sourceLineNo">509</span><a name="line.509"></a>
-<span class="sourceLineNo">510</span>}<a name="line.510"></a>
-<span class="sourceLineNo">511</span><a name="line.511"></a>
+<span class="sourceLineNo">507</span>    if (ClassSize.useUnsafeLayout()) {<a name="line.507"></a>
+<span class="sourceLineNo">508</span>      assertEquals(ClassSize.OBJECT + 4, ClassSize.ARRAY);<a name="line.508"></a>
+<span class="sourceLineNo">509</span>    } else {<a name="line.509"></a>
+<span class="sourceLineNo">510</span>      assertEquals(ClassSize.OBJECT + 8, ClassSize.ARRAY);<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    }<a name="line.511"></a>
+<span class="sourceLineNo">512</span>  }<a name="line.512"></a>
+<span class="sourceLineNo">513</span>}<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
 
 
 


[02/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html
index 84d8465..cf3e8d1 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html
@@ -28,443 +28,450 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>package org.apache.hadoop.hbase.util;<a name="line.21"></a>
 <span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.lang.reflect.Field;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.lang.reflect.Modifier;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">023</span>import com.google.common.annotations.VisibleForTesting;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Field;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.lang.reflect.Modifier;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.31"></a>
 <span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * Class for determining the "size" of a class, an attempt to calculate the<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * actual bytes that an object of this class will occupy in memory<a name="line.35"></a>
-<span class="sourceLineNo">036</span> *<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * The core of this class is taken from the Derby project<a name="line.37"></a>
-<span class="sourceLineNo">038</span> */<a name="line.38"></a>
-<span class="sourceLineNo">039</span>@InterfaceAudience.Private<a name="line.39"></a>
-<span class="sourceLineNo">040</span>public class ClassSize {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private static final Log LOG = LogFactory.getLog(ClassSize.class);<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  /** Array overhead */<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public static final int ARRAY;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  /** Overhead for ArrayList(0) */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public static final int ARRAYLIST;<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  /** Overhead for LinkedList(0) */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public static final int LINKEDLIST;<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>  /** Overhead for a single entry in LinkedList */<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  public static final int LINKEDLIST_ENTRY;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  /** Overhead for ByteBuffer */<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public static final int BYTE_BUFFER;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  /** Overhead for an Integer */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final int INTEGER;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /** Overhead for entry in map */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  public static final int MAP_ENTRY;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  /** Object overhead is minimum 2 * reference size (8 bytes on 64-bit) */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final int OBJECT;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  /** Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public static final int REFERENCE;<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  /** String overhead */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public static final int STRING;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  /** Overhead for TreeMap */<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final int TREEMAP;<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  /** Overhead for ConcurrentHashMap */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final int CONCURRENT_HASHMAP;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  /** Overhead for ConcurrentHashMap.Entry */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public static final int CONCURRENT_HASHMAP_ENTRY;<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  /** Overhead for ConcurrentHashMap.Segment */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  public static final int CONCURRENT_HASHMAP_SEGMENT;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Overhead for ConcurrentSkipListMap */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public static final int CONCURRENT_SKIPLISTMAP;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  /** Overhead for ConcurrentSkipListMap Entry */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public static final int CONCURRENT_SKIPLISTMAP_ENTRY;<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  /** Overhead for CellArrayMap */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public static final int CELL_ARRAY_MAP;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /** Overhead for Cell Array Entry */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public static final int CELL_ARRAY_MAP_ENTRY;<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /** Overhead for ReentrantReadWriteLock */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public static final int REENTRANT_LOCK;<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  /** Overhead for AtomicLong */<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public static final int ATOMIC_LONG;<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /** Overhead for AtomicInteger */<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  public static final int ATOMIC_INTEGER;<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>  /** Overhead for AtomicBoolean */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public static final int ATOMIC_BOOLEAN;<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>  /** Overhead for AtomicReference */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public static final int ATOMIC_REFERENCE;<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  /** Overhead for CopyOnWriteArraySet */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public static final int COPYONWRITE_ARRAYSET;<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Overhead for CopyOnWriteArrayList */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static final int COPYONWRITE_ARRAYLIST;<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  /** Overhead for timerange */<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public static final int TIMERANGE;<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /** Overhead for TimeRangeTracker */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  public static final int TIMERANGE_TRACKER;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  /** Overhead for CellSkipListSet */<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public static final int CELL_SET;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  public static final int STORE_SERVICES;<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  /* Are we running on jdk7? */<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  private static final boolean JDK7;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  static {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    final String version = System.getProperty("java.version");<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    // Verify String looks like this: 1.6.0_29<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (version == null || !version.matches("\\d\\.\\d\\..*")) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      throw new RuntimeException("Unexpected version format: " + version);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    // Convert char to int<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    int major = (int)(version.charAt(0) - '0');<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    int minor = (int)(version.charAt(2) - '0');<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    JDK7 = major == 1 &amp;&amp; minor == 7;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * MemoryLayout abstracts details about the JVM object layout. Default implementation is used in<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * case Unsafe is not available.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  private static class MemoryLayout {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    int headerSize() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      return 2 * oopSize();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>    int arrayHeaderSize() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      return (int) align(3 * oopSize());<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>     * Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,<a name="line.157"></a>
-<span class="sourceLineNo">158</span>     * and CompressedOops<a name="line.158"></a>
-<span class="sourceLineNo">159</span>     */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    int oopSize() {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return is32BitJVM() ? 4 : 8;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    /**<a name="line.164"></a>
-<span class="sourceLineNo">165</span>     * Aligns a number to 8.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>     * @param num number to align to 8<a name="line.166"></a>
-<span class="sourceLineNo">167</span>     * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.167"></a>
-<span class="sourceLineNo">168</span>     */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public long align(long num) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      //The 7 comes from that the alignSize is 8 which is the number of bytes<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      //stored and sent together<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      return  ((num + 7) &gt;&gt; 3) &lt;&lt; 3;<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>    long sizeOf(byte[] b, int len) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return align(arrayHeaderSize() + len);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * sizes and oop sizes<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * See HBASE-15950.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private static class UnsafeLayout extends MemoryLayout {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    @SuppressWarnings("unused")<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    private static final class HeaderSize {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      private byte a;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public UnsafeLayout() {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    }<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    int headerSize() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      try {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        return (int) UnsafeAccess.theUnsafe.objectFieldOffset(<a name="line.197"></a>
-<span class="sourceLineNo">198</span>          HeaderSize.class.getDeclaredField("a"));<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      } catch (NoSuchFieldException | SecurityException e) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        LOG.error(e);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      return super.headerSize();<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    int arrayHeaderSize() {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return UnsafeAccess.theUnsafe.arrayBaseOffset(byte[].class);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>    @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    @SuppressWarnings("static-access")<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    int oopSize() {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      // Unsafe.addressSize() returns 8, even with CompressedOops. This is how many bytes each<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      // element is allocated in an Object[].<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      return UnsafeAccess.theUnsafe.ARRAY_OBJECT_INDEX_SCALE;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>    @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    @SuppressWarnings("static-access")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    long sizeOf(byte[] b, int len) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      return align(arrayHeaderSize() + len * UnsafeAccess.theUnsafe.ARRAY_BYTE_INDEX_SCALE);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static MemoryLayout getMemoryLayout() {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    // Have a safeguard in case Unsafe estimate is wrong. This is static context, there is<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // no configuration, so we look at System property.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    String enabled = System.getProperty("hbase.memorylayout.use.unsafe");<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    if (UnsafeAvailChecker.isAvailable() &amp;&amp; (enabled == null || Boolean.parseBoolean(enabled))) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      LOG.debug("Using Unsafe to estimate memory layout");<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      return new UnsafeLayout();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    LOG.debug("Not using Unsafe to estimate memory layout");<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    return new MemoryLayout();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private static final MemoryLayout memoryLayout = getMemoryLayout();<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Method for reading the arc settings and setting overheads according<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * to 32-bit or 64-bit architecture.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  static {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    REFERENCE = memoryLayout.oopSize();<a name="line.244"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Class for determining the "size" of a class, an attempt to calculate the<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * actual bytes that an object of this class will occupy in memory<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * The core of this class is taken from the Derby project<a name="line.38"></a>
+<span class="sourceLineNo">039</span> */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>@InterfaceAudience.Private<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public class ClassSize {<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  private static final Log LOG = LogFactory.getLog(ClassSize.class);<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>  /** Array overhead */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public static final int ARRAY;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  /** Overhead for ArrayList(0) */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public static final int ARRAYLIST;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  /** Overhead for LinkedList(0) */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public static final int LINKEDLIST;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>  /** Overhead for a single entry in LinkedList */<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public static final int LINKEDLIST_ENTRY;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  /** Overhead for ByteBuffer */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public static final int BYTE_BUFFER;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /** Overhead for an Integer */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final int INTEGER;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  /** Overhead for entry in map */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public static final int MAP_ENTRY;<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  /** Object overhead is minimum 2 * reference size (8 bytes on 64-bit) */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public static final int OBJECT;<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /** Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public static final int REFERENCE;<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  /** String overhead */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  public static final int STRING;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  /** Overhead for TreeMap */<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final int TREEMAP;<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  /** Overhead for ConcurrentHashMap */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final int CONCURRENT_HASHMAP;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  /** Overhead for ConcurrentHashMap.Entry */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  public static final int CONCURRENT_HASHMAP_ENTRY;<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /** Overhead for ConcurrentHashMap.Segment */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public static final int CONCURRENT_HASHMAP_SEGMENT;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /** Overhead for ConcurrentSkipListMap */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public static final int CONCURRENT_SKIPLISTMAP;<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>  /** Overhead for ConcurrentSkipListMap Entry */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public static final int CONCURRENT_SKIPLISTMAP_ENTRY;<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>  /** Overhead for CellArrayMap */<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public static final int CELL_ARRAY_MAP;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  /** Overhead for Cell Array Entry */<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public static final int CELL_ARRAY_MAP_ENTRY;<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /** Overhead for ReentrantReadWriteLock */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public static final int REENTRANT_LOCK;<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  /** Overhead for AtomicLong */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  public static final int ATOMIC_LONG;<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /** Overhead for AtomicInteger */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  public static final int ATOMIC_INTEGER;<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  /** Overhead for AtomicBoolean */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public static final int ATOMIC_BOOLEAN;<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /** Overhead for AtomicReference */<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public static final int ATOMIC_REFERENCE;<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  /** Overhead for CopyOnWriteArraySet */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public static final int COPYONWRITE_ARRAYSET;<a name="line.114"></a>
+<span class="sourceLineNo">115</span><a name="line.115"></a>
+<span class="sourceLineNo">116</span>  /** Overhead for CopyOnWriteArrayList */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static final int COPYONWRITE_ARRAYLIST;<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  /** Overhead for timerange */<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public static final int TIMERANGE;<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /** Overhead for TimeRangeTracker */<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  public static final int TIMERANGE_TRACKER;<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>  /** Overhead for CellSkipListSet */<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public static final int CELL_SET;<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>  public static final int STORE_SERVICES;<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span>  /* Are we running on jdk7? */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  private static final boolean JDK7;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  static {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    final String version = System.getProperty("java.version");<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    // Verify String looks like this: 1.6.0_29<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    if (version == null || !version.matches("\\d\\.\\d\\..*")) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      throw new RuntimeException("Unexpected version format: " + version);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    // Convert char to int<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    int major = (int)(version.charAt(0) - '0');<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    int minor = (int)(version.charAt(2) - '0');<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    JDK7 = major == 1 &amp;&amp; minor == 7;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * MemoryLayout abstracts details about the JVM object layout. Default implementation is used in<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * case Unsafe is not available.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  private static class MemoryLayout {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    int headerSize() {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      return 2 * oopSize();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>    int arrayHeaderSize() {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return (int) align(3 * oopSize());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    /**<a name="line.157"></a>
+<span class="sourceLineNo">158</span>     * Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,<a name="line.158"></a>
+<span class="sourceLineNo">159</span>     * and CompressedOops<a name="line.159"></a>
+<span class="sourceLineNo">160</span>     */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    int oopSize() {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      return is32BitJVM() ? 4 : 8;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    /**<a name="line.165"></a>
+<span class="sourceLineNo">166</span>     * Aligns a number to 8.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>     * @param num number to align to 8<a name="line.167"></a>
+<span class="sourceLineNo">168</span>     * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.168"></a>
+<span class="sourceLineNo">169</span>     */<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    public long align(long num) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      //The 7 comes from that the alignSize is 8 which is the number of bytes<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      //stored and sent together<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      return  ((num + 7) &gt;&gt; 3) &lt;&lt; 3;<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>    long sizeOf(byte[] b, int len) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      return align(arrayHeaderSize() + len);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * sizes and oop sizes<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * See HBASE-15950.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  private static class UnsafeLayout extends MemoryLayout {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    @SuppressWarnings("unused")<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    private static final class HeaderSize {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      private byte a;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>    public UnsafeLayout() {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span>    @Override<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    int headerSize() {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      try {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        return (int) UnsafeAccess.theUnsafe.objectFieldOffset(<a name="line.198"></a>
+<span class="sourceLineNo">199</span>          HeaderSize.class.getDeclaredField("a"));<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      } catch (NoSuchFieldException | SecurityException e) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        LOG.error(e);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return super.headerSize();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    @Override<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    int arrayHeaderSize() {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return UnsafeAccess.theUnsafe.arrayBaseOffset(byte[].class);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>    @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    @SuppressWarnings("static-access")<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    int oopSize() {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      // Unsafe.addressSize() returns 8, even with CompressedOops. This is how many bytes each<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      // element is allocated in an Object[].<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return UnsafeAccess.theUnsafe.ARRAY_OBJECT_INDEX_SCALE;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    @SuppressWarnings("static-access")<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    long sizeOf(byte[] b, int len) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return align(arrayHeaderSize() + len * UnsafeAccess.theUnsafe.ARRAY_BYTE_INDEX_SCALE);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  private static MemoryLayout getMemoryLayout() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    // Have a safeguard in case Unsafe estimate is wrong. This is static context, there is<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    // no configuration, so we look at System property.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    String enabled = System.getProperty("hbase.memorylayout.use.unsafe");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    if (UnsafeAvailChecker.isAvailable() &amp;&amp; (enabled == null || Boolean.parseBoolean(enabled))) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      LOG.debug("Using Unsafe to estimate memory layout");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      return new UnsafeLayout();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    LOG.debug("Not using Unsafe to estimate memory layout");<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    return new MemoryLayout();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  private static final MemoryLayout memoryLayout = getMemoryLayout();<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  private static final boolean USE_UNSAFE_LAYOUT = (memoryLayout instanceof UnsafeLayout);<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  @VisibleForTesting<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  public static boolean useUnsafeLayout() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    return USE_UNSAFE_LAYOUT;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
 <span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>    OBJECT = memoryLayout.headerSize();<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>    ARRAY = memoryLayout.arrayHeaderSize();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>    ARRAYLIST = align(OBJECT + REFERENCE + (2 * Bytes.SIZEOF_INT)) + align(ARRAY);<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    LINKEDLIST = align(OBJECT + (2 * Bytes.SIZEOF_INT) + (2 * REFERENCE));<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>    LINKEDLIST_ENTRY = align(OBJECT + (2 * REFERENCE));<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    //noinspection PointlessArithmeticExpression<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    BYTE_BUFFER = align(OBJECT + REFERENCE +<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        (5 * Bytes.SIZEOF_INT) +<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        (3 * Bytes.SIZEOF_BOOLEAN) + Bytes.SIZEOF_LONG) + align(ARRAY);<a name="line.259"></a>
+<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   * Method for reading the arc settings and setting overheads according<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * to 32-bit or 64-bit architecture.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  static {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    REFERENCE = memoryLayout.oopSize();<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>    OBJECT = memoryLayout.headerSize();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>    ARRAY = memoryLayout.arrayHeaderSize();<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>    ARRAYLIST = align(OBJECT + REFERENCE + (2 * Bytes.SIZEOF_INT)) + align(ARRAY);<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>    LINKEDLIST = align(OBJECT + (2 * Bytes.SIZEOF_INT) + (2 * REFERENCE));<a name="line.259"></a>
 <span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>    INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.261"></a>
+<span class="sourceLineNo">261</span>    LINKEDLIST_ENTRY = align(OBJECT + (2 * REFERENCE));<a name="line.261"></a>
 <span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>    MAP_ENTRY = align(OBJECT + 5 * REFERENCE + Bytes.SIZEOF_BOOLEAN);<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    TREEMAP = align(OBJECT + (2 * Bytes.SIZEOF_INT) + 7 * REFERENCE);<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    // STRING is different size in jdk6 and jdk7. Just use what we estimate as size rather than<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    // have a conditional on whether jdk7.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    STRING = (int) estimateBase(String.class, false);<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>    // CONCURRENT_HASHMAP is different size in jdk6 and jdk7; it looks like its different between<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    // 23.6-b03 and 23.0-b21. Just use what we estimate as size rather than have a conditional on<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    // whether jdk7.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    CONCURRENT_HASHMAP = (int) estimateBase(ConcurrentHashMap.class, false);<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    CONCURRENT_HASHMAP_ENTRY = align(REFERENCE + OBJECT + (3 * REFERENCE) +<a name="line.276"></a>
-<span class="sourceLineNo">277</span>        (2 * Bytes.SIZEOF_INT));<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    CONCURRENT_HASHMAP_SEGMENT = align(REFERENCE + OBJECT +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        (3 * Bytes.SIZEOF_INT) + Bytes.SIZEOF_FLOAT + ARRAY);<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>    // The size changes from jdk7 to jdk8, estimate the size rather than use a conditional<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    CONCURRENT_SKIPLISTMAP = (int) estimateBase(ConcurrentSkipListMap.class, false);<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    // CELL_ARRAY_MAP is the size of an instance of CellArrayMap class, which extends<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    // CellFlatMap class. CellArrayMap object containing a ref to an Array, so<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    // OBJECT + REFERENCE + ARRAY<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // CellFlatMap object contains two integers, one boolean and one reference to object, so<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    // 2*INT + BOOLEAN + REFERENCE<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    CELL_ARRAY_MAP = align(OBJECT + 2*Bytes.SIZEOF_INT + Bytes.SIZEOF_BOOLEAN<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        + ARRAY + 2*REFERENCE);<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    CONCURRENT_SKIPLISTMAP_ENTRY = align(<a name="line.293"></a>
-<span class="sourceLineNo">294</span>        align(OBJECT + (3 * REFERENCE)) + /* one node per entry */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        align((OBJECT + (3 * REFERENCE))/2)); /* one index per two entries */<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>    // REFERENCE in the CellArrayMap all the rest is counted in KeyValue.heapSize()<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    CELL_ARRAY_MAP_ENTRY = align(REFERENCE);<a name="line.298"></a>
+<span class="sourceLineNo">263</span>    //noinspection PointlessArithmeticExpression<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    BYTE_BUFFER = align(OBJECT + REFERENCE +<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        (5 * Bytes.SIZEOF_INT) +<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        (3 * Bytes.SIZEOF_BOOLEAN) + Bytes.SIZEOF_LONG) + align(ARRAY);<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>    INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    MAP_ENTRY = align(OBJECT + 5 * REFERENCE + Bytes.SIZEOF_BOOLEAN);<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    TREEMAP = align(OBJECT + (2 * Bytes.SIZEOF_INT) + 7 * REFERENCE);<a name="line.272"></a>
+<span class="sourceLineNo">273</span><a name="line.273"></a>
+<span class="sourceLineNo">274</span>    // STRING is different size in jdk6 and jdk7. Just use what we estimate as size rather than<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    // have a conditional on whether jdk7.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    STRING = (int) estimateBase(String.class, false);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>    // CONCURRENT_HASHMAP is different size in jdk6 and jdk7; it looks like its different between<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    // 23.6-b03 and 23.0-b21. Just use what we estimate as size rather than have a conditional on<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    // whether jdk7.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    CONCURRENT_HASHMAP = (int) estimateBase(ConcurrentHashMap.class, false);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>    CONCURRENT_HASHMAP_ENTRY = align(REFERENCE + OBJECT + (3 * REFERENCE) +<a name="line.283"></a>
+<span class="sourceLineNo">284</span>        (2 * Bytes.SIZEOF_INT));<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    CONCURRENT_HASHMAP_SEGMENT = align(REFERENCE + OBJECT +<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        (3 * Bytes.SIZEOF_INT) + Bytes.SIZEOF_FLOAT + ARRAY);<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span>    // The size changes from jdk7 to jdk8, estimate the size rather than use a conditional<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    CONCURRENT_SKIPLISTMAP = (int) estimateBase(ConcurrentSkipListMap.class, false);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // CELL_ARRAY_MAP is the size of an instance of CellArrayMap class, which extends<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    // CellFlatMap class. CellArrayMap object containing a ref to an Array, so<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    // OBJECT + REFERENCE + ARRAY<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    // CellFlatMap object contains two integers, one boolean and one reference to object, so<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    // 2*INT + BOOLEAN + REFERENCE<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    CELL_ARRAY_MAP = align(OBJECT + 2*Bytes.SIZEOF_INT + Bytes.SIZEOF_BOOLEAN<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        + ARRAY + 2*REFERENCE);<a name="line.298"></a>
 <span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>    REENTRANT_LOCK = align(OBJECT + (3 * REFERENCE));<a name="line.300"></a>
-<span class="sourceLineNo">301</span><a name="line.301"></a>
-<span class="sourceLineNo">302</span>    ATOMIC_LONG = align(OBJECT + Bytes.SIZEOF_LONG);<a name="line.302"></a>
+<span class="sourceLineNo">300</span>    CONCURRENT_SKIPLISTMAP_ENTRY = align(<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        align(OBJECT + (3 * REFERENCE)) + /* one node per entry */<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        align((OBJECT + (3 * REFERENCE))/2)); /* one index per two entries */<a name="line.302"></a>
 <span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    ATOMIC_INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ATOMIC_BOOLEAN = align(OBJECT + Bytes.SIZEOF_BOOLEAN);<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    ATOMIC_REFERENCE = align(OBJECT + REFERENCE);<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    COPYONWRITE_ARRAYSET = align(OBJECT + REFERENCE);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    COPYONWRITE_ARRAYLIST = align(OBJECT + (2 * REFERENCE) + ARRAY);<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    TIMERANGE = align(ClassSize.OBJECT + Bytes.SIZEOF_LONG * 2 + Bytes.SIZEOF_BOOLEAN);<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>    TIMERANGE_TRACKER = align(ClassSize.OBJECT + 2 * REFERENCE);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CELL_SET = align(OBJECT + REFERENCE);<a name="line.317"></a>
+<span class="sourceLineNo">304</span>    // REFERENCE in the CellArrayMap all the rest is counted in KeyValue.heapSize()<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    CELL_ARRAY_MAP_ENTRY = align(REFERENCE);<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    REENTRANT_LOCK = align(OBJECT + (3 * REFERENCE));<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ATOMIC_LONG = align(OBJECT + Bytes.SIZEOF_LONG);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    ATOMIC_INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>    ATOMIC_BOOLEAN = align(OBJECT + Bytes.SIZEOF_BOOLEAN);<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    ATOMIC_REFERENCE = align(OBJECT + REFERENCE);<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>    COPYONWRITE_ARRAYSET = align(OBJECT + REFERENCE);<a name="line.317"></a>
 <span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>    STORE_SERVICES = align(OBJECT + REFERENCE + ATOMIC_LONG);<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * The estimate of the size of a class instance depends on whether the JVM<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * uses 32 or 64 bit addresses, that is it depends on the size of an object<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * reference. It is a linear function of the size of a reference, e.g.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * 24 + 5*r where r is the size of a reference (usually 4 or 8 bytes).<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * This method returns the coefficients of the linear function, e.g. {24, 5}<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * in the above example.<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   *<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param cl A class whose instance size is to be estimated<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @param debug debug flag<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @return an array of 3 integers. The first integer is the size of the<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * primitives, the second the number of arrays and the third the number of<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * references.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  @SuppressWarnings("unchecked")<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private static int [] getSizeCoefficients(Class cl, boolean debug) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int primitives = 0;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    int arrays = 0;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    int references = 0;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    int index = 0;<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>    for ( ; null != cl; cl = cl.getSuperclass()) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      Field[] field = cl.getDeclaredFields();<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      if (null != field) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        for (Field aField : field) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>          if (Modifier.isStatic(aField.getModifiers())) continue;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>          Class fieldClass = aField.getType();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>          if (fieldClass.isArray()) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>            arrays++;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            references++;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>          } else if (!fieldClass.isPrimitive()) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>            references++;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          } else {// Is simple primitive<a name="line.355"></a>
-<span class="sourceLineNo">356</span>            String name = fieldClass.getName();<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>            if (name.equals("int") || name.equals("I"))<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              primitives += Bytes.SIZEOF_INT;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>            else if (name.equals("long") || name.equals("J"))<a name="line.360"></a>
-<span class="sourceLineNo">361</span>              primitives += Bytes.SIZEOF_LONG;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>            else if (name.equals("boolean") || name.equals("Z"))<a name="line.362"></a>
-<span class="sourceLineNo">363</span>              primitives += Bytes.SIZEOF_BOOLEAN;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>            else if (name.equals("short") || name.equals("S"))<a name="line.364"></a>
-<span class="sourceLineNo">365</span>              primitives += Bytes.SIZEOF_SHORT;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>            else if (name.equals("byte") || name.equals("B"))<a name="line.366"></a>
-<span class="sourceLineNo">367</span>              primitives += Bytes.SIZEOF_BYTE;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            else if (name.equals("char") || name.equals("C"))<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              primitives += Bytes.SIZEOF_CHAR;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>            else if (name.equals("float") || name.equals("F"))<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              primitives += Bytes.SIZEOF_FLOAT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>            else if (name.equals("double") || name.equals("D"))<a name="line.372"></a>
-<span class="sourceLineNo">373</span>              primitives += Bytes.SIZEOF_DOUBLE;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          if (debug) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>            if (LOG.isDebugEnabled()) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>              LOG.debug("" + index + " " + aField.getName() + " " + aField.getType());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>            }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          index++;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new int [] {primitives, arrays, references};<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Estimate the static space taken up by a class instance given the<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * coefficients returned by getSizeCoefficients.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   *<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param coeff the coefficients<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   *<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * @param debug debug flag<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * @return the size estimate, in bytes<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   */<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  private static long estimateBaseFromCoefficients(int [] coeff, boolean debug) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    long prealign_size = OBJECT + coeff[0] + coeff[2] * REFERENCE;<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Round up to a multiple of 8<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    long size = align(prealign_size) + align(coeff[1] * ARRAY);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    if (debug) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (LOG.isDebugEnabled()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        LOG.debug("Primitives=" + coeff[0] + ", arrays=" + coeff[1] +<a name="line.403"></a>
-<span class="sourceLineNo">404</span>            ", references=" + coeff[2] + ", refSize " + REFERENCE +<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            ", size=" + size + ", prealign_size=" + prealign_size);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      }<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    return size;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  /**<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * Estimate the static space taken up by the fields of a class. This includes<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * the space taken up by by references (the pointer) but not by the referenced<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * object. So the estimated size of an array field does not depend on the size<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * of the array. Similarly the size of an object (reference) field does not<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * depend on the object.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   *<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param cl class<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param debug debug flag<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * @return the size estimate in bytes.<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @SuppressWarnings("unchecked")<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public static long estimateBase(Class cl, boolean debug) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    return estimateBaseFromCoefficients( getSizeCoefficients(cl, debug), debug);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  /**<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * Aligns a number to 8.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param num number to align to 8<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public static int align(int num) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return (int)(align((long)num));<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  /**<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * Aligns a number to 8.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param num number to align to 8<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   */<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  public static long align(long num) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return memoryLayout.align(num);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Determines if we are running in a 32-bit JVM. Some unit tests need to<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * know this too.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   */<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  public static boolean is32BitJVM() {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    final String model = System.getProperty("sun.arch.data.model");<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    return model != null &amp;&amp; model.equals("32");<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
-<span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public static long sizeOf(byte[] b, int len) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return memoryLayout.sizeOf(b, len);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>}<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">319</span>    COPYONWRITE_ARRAYLIST = align(OBJECT + (2 * REFERENCE) + ARRAY);<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>    TIMERANGE = align(ClassSize.OBJECT + Bytes.SIZEOF_LONG * 2 + Bytes.SIZEOF_BOOLEAN);<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>    TIMERANGE_TRACKER = align(ClassSize.OBJECT + 2 * REFERENCE);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    CELL_SET = align(OBJECT + REFERENCE);<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    STORE_SERVICES = align(OBJECT + REFERENCE + ATOMIC_LONG);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * The estimate of the size of a class instance depends on whether the JVM<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * uses 32 or 64 bit addresses, that is it depends on the size of an object<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * reference. It is a linear function of the size of a reference, e.g.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * 24 + 5*r where r is the size of a reference (usually 4 or 8 bytes).<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   *<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * This method returns the coefficients of the linear function, e.g. {24, 5}<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * in the above example.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   *<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param cl A class whose instance size is to be estimated<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param debug debug flag<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return an array of 3 integers. The first integer is the size of the<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * primitives, the second the number of arrays and the third the number of<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * references.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  @SuppressWarnings("unchecked")<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  private static int [] getSizeCoefficients(Class cl, boolean debug) {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    int primitives = 0;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    int arrays = 0;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    int references = 0;<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    int index = 0;<a name="line.349"></a>
+<span class="sourceLineNo">350</span><a name="line.350"></a>
+<span class="sourceLineNo">351</span>    for ( ; null != cl; cl = cl.getSuperclass()) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      Field[] field = cl.getDeclaredFields();<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      if (null != field) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        for (Field aField : field) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          if (Modifier.isStatic(aField.getModifiers())) continue;<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          Class fieldClass = aField.getType();<a name="line.356"></a>
+<span class="sourceLineNo">357</span>          if (fieldClass.isArray()) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>            arrays++;<a name="line.358"></a>
+<span class="sourceLineNo">359</span>            references++;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          } else if (!fieldClass.isPrimitive()) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>            references++;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          } else {// Is simple primitive<a name="line.362"></a>
+<span class="sourceLineNo">363</span>            String name = fieldClass.getName();<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>            if (name.equals("int") || name.equals("I"))<a name="line.365"></a>
+<span class="sourceLineNo">366</span>              primitives += Bytes.SIZEOF_INT;<a name="line.366"></a>
+<span class="sourceLineNo">367</span>            else if (name.equals("long") || name.equals("J"))<a name="line.367"></a>
+<span class="sourceLineNo">368</span>              primitives += Bytes.SIZEOF_LONG;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>            else if (name.equals("boolean") || name.equals("Z"))<a name="line.369"></a>
+<span class="sourceLineNo">370</span>              primitives += Bytes.SIZEOF_BOOLEAN;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>            else if (name.equals("short") || name.equals("S"))<a name="line.371"></a>
+<span class="sourceLineNo">372</span>              primitives += Bytes.SIZEOF_SHORT;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>            else if (name.equals("byte") || name.equals("B"))<a name="line.373"></a>
+<span class="sourceLineNo">374</span>              primitives += Bytes.SIZEOF_BYTE;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>            else if (name.equals("char") || name.equals("C"))<a name="line.375"></a>
+<span class="sourceLineNo">376</span>              primitives += Bytes.SIZEOF_CHAR;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>            else if (name.equals("float") || name.equals("F"))<a name="line.377"></a>
+<span class="sourceLineNo">378</span>              primitives += Bytes.SIZEOF_FLOAT;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>            else if (name.equals("double") || name.equals("D"))<a name="line.379"></a>
+<span class="sourceLineNo">380</span>              primitives += Bytes.SIZEOF_DOUBLE;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          }<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (debug) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            if (LOG.isDebugEnabled()) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>              LOG.debug("" + index + " " + aField.getName() + " " + aField.getType());<a name="line.384"></a>
+<span class="sourceLineNo">385</span>            }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          }<a name="line.386"></a>
+<span class="sourceLineNo">387</span>          index++;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    return new int [] {primitives, arrays, references};<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>  /**<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * Estimate the static space taken up by a class instance given the<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * coefficients returned by getSizeCoefficients.<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * @param coeff the coefficients<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   *<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * @param debug debug flag<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @return the size estimate, in bytes<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  private static long estimateBaseFromCoefficients(int [] coeff, boolean debug) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    long prealign_size = OBJECT + coeff[0] + coeff[2] * REFERENCE;<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>    // Round up to a multiple of 8<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    long size = align(prealign_size) + align(coeff[1] * ARRAY);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    if (debug) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      if (LOG.isDebugEnabled()) {<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        LOG.debug("Primitives=" + coeff[0] + ", arrays=" + coeff[1] +<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            ", references=" + coeff[2] + ", refSize " + REFERENCE +<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            ", size=" + size + ", prealign_size=" + prealign_size);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    return size;<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  }<a name="line.416"></a>
+<span class="sourceLineNo">417</span><a name="line.417"></a>
+<span class="sourceLineNo">418</span>  /**<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * Estimate the static space taken up by the fields of a class. This includes<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * the space taken up by by references (the pointer) but not by the referenced<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * object. So the estimated size of an array field does not depend on the size<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * of the array. Similarly the size of an object (reference) field does not<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * depend on the object.<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   *<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * @param cl class<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param debug debug flag<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @return the size estimate in bytes.<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   */<a name="line.428"></a>
+<span class="sourceLineNo">429</span>  @SuppressWarnings("unchecked")<a name="line.429"></a>
+<span class="sourceLineNo">430</span>  public static long estimateBase(Class cl, boolean debug) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    return estimateBaseFromCoefficients( getSizeCoefficients(cl, debug), debug);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  /**<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * Aligns a number to 8.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * @param num number to align to 8<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  public static int align(int num) {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    return (int)(align((long)num));<a name="line.440"></a>
+<span class="sourceLineNo">441</span>  }<a name="line.441"></a>
+<span class="sourceLineNo">442</span><a name="line.442"></a>
+<span class="sourceLineNo">443</span>  /**<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * Aligns a number to 8.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * @param num number to align to 8<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
+<span class="sourceLineNo">448</span>  public static long align(long num) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    return memoryLayout.align(num);<a name="line.449"></a>
+<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span>  /**<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * Determines if we are running in a 32-bit JVM. Some unit tests need to<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * know this too.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  public static boolean is32BitJVM() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    final String model = System.getProperty("sun.arch.data.model");<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return model != null &amp;&amp; model.equals("32");<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  public static long sizeOf(byte[] b, int len) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return memoryLayout.sizeOf(b, len);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>}<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
 
 
 


[09/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/regionserver/Segment.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/Segment.html b/devapidocs/org/apache/hadoop/hbase/regionserver/Segment.html
index da3e630..152d5d3 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/Segment.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/Segment.html
@@ -156,7 +156,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Segment.html#DEEP_OVERHEAD">DEEP_OVERHEAD</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>(package private) static long</code></td>
+<td class="colFirst"><code>static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/Segment.html#FIXED_OVERHEAD">FIXED_OVERHEAD</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
@@ -422,7 +422,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>FIXED_OVERHEAD</h4>
-<pre>static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.51">FIXED_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.51">FIXED_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="DEEP_OVERHEAD">
@@ -431,7 +431,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>DEEP_OVERHEAD</h4>
-<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.55">DEEP_OVERHEAD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.56">DEEP_OVERHEAD</a></pre>
 </li>
 </ul>
 <a name="cellSet">
@@ -440,7 +440,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cellSet</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSet</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.58">cellSet</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicReference.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicReference</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSet</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.59">cellSet</a></pre>
 </li>
 </ul>
 <a name="comparator">
@@ -449,7 +449,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>comparator</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.59">comparator</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.60">comparator</a></pre>
 </li>
 </ul>
 <a name="minSequenceId">
@@ -458,7 +458,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>minSequenceId</h4>
-<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.60">minSequenceId</a></pre>
+<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.61">minSequenceId</a></pre>
 </li>
 </ul>
 <a name="memStoreLAB">
@@ -467,7 +467,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>memStoreLAB</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.61">memStoreLAB</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.62">memStoreLAB</a></pre>
 </li>
 </ul>
 <a name="dataSize">
@@ -476,7 +476,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>dataSize</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.64">dataSize</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.65">dataSize</a></pre>
 </li>
 </ul>
 <a name="heapSize">
@@ -485,7 +485,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSize</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.65">heapSize</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.66">heapSize</a></pre>
 </li>
 </ul>
 <a name="timeRangeTracker">
@@ -494,7 +494,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>timeRangeTracker</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TimeRangeTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.66">timeRangeTracker</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TimeRangeTracker</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.67">timeRangeTracker</a></pre>
 </li>
 </ul>
 <a name="tagsPresent">
@@ -503,7 +503,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>tagsPresent</h4>
-<pre>protected volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.67">tagsPresent</a></pre>
+<pre>protected volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.68">tagsPresent</a></pre>
 </li>
 </ul>
 </li>
@@ -520,7 +520,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>Segment</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.71">Segment</a>(<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator)</pre>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.72">Segment</a>(<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator)</pre>
 </li>
 </ul>
 <a name="Segment-org.apache.hadoop.hbase.regionserver.CellSet-org.apache.hadoop.hbase.CellComparator-org.apache.hadoop.hbase.regionserver.MemStoreLAB-">
@@ -529,7 +529,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>Segment</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.79">Segment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSet</a>&nbsp;cellSet,
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.80">Segment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSet</a>&nbsp;cellSet,
                   <a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;comparator,
                   <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a>&nbsp;memStoreLAB)</pre>
 </li>
@@ -540,7 +540,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>Segment</h4>
-<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.90">Segment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Segment.html" title="class in org.apache.hadoop.hbase.regionserver">Segment</a>&nbsp;segment)</pre>
+<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.91">Segment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Segment.html" title="class in org.apache.hadoop.hbase.regionserver">Segment</a>&nbsp;segment)</pre>
 </li>
 </ul>
 </li>
@@ -557,7 +557,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.105">getScanner</a>(long&nbsp;readPoint)</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.106">getScanner</a>(long&nbsp;readPoint)</pre>
 <div class="block">Creates the scanner for the given read point</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -571,7 +571,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.113">getScanner</a>(long&nbsp;readPoint,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.114">getScanner</a>(long&nbsp;readPoint,
                                   long&nbsp;order)</pre>
 <div class="block">Creates the scanner for the given read point, and a specific order in a list</div>
 <dl>
@@ -586,7 +586,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanners</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.117">getScanners</a>(long&nbsp;readPoint,
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/KeyValueScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">KeyValueScanner</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.118">getScanners</a>(long&nbsp;readPoint,
                                          long&nbsp;order)</pre>
 </li>
 </ul>
@@ -596,7 +596,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isEmpty</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.124">isEmpty</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.125">isEmpty</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>whether the segment has any cells</dd>
@@ -609,7 +609,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellsCount</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.131">getCellsCount</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.132">getCellsCount</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>number of cells in segment</dd>
@@ -622,7 +622,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFirstAfter</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.138">getFirstAfter</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.139">getFirstAfter</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the first cell in the segment that has equal or greater key than the given cell</dd>
@@ -635,7 +635,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.149">close</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.150">close</a>()</pre>
 <div class="block">Closing a segment before it is being discarded</div>
 </li>
 </ul>
@@ -645,7 +645,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>maybeCloneWithAllocator</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.162">maybeCloneWithAllocator</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.163">maybeCloneWithAllocator</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">If the segment has a memory allocator the cell is being cloned to this space, and returned;
  otherwise the given cell is returned</div>
 <dl>
@@ -660,7 +660,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellLength</h4>
-<pre>static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.175">getCellLength</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
+<pre>static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.176">getCellLength</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell)</pre>
 <div class="block">Get cell length after serialized in <a href="../../../../../org/apache/hadoop/hbase/KeyValue.html" title="class in org.apache.hadoop.hbase"><code>KeyValue</code></a></div>
 </li>
 </ul>
@@ -670,7 +670,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>shouldSeek</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.179">shouldSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.180">shouldSeek</a>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a>&nbsp;scan,
                                    long&nbsp;oldestUnexpiredTS)</pre>
 </li>
 </ul>
@@ -680,7 +680,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMinTimestamp</h4>
-<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.181">getMinTimestamp</a>()</pre>
+<pre>public abstract&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.182">getMinTimestamp</a>()</pre>
 </li>
 </ul>
 <a name="isTagsPresent--">
@@ -689,7 +689,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isTagsPresent</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.183">isTagsPresent</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.184">isTagsPresent</a>()</pre>
 </li>
 </ul>
 <a name="incScannerCount--">
@@ -698,7 +698,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>incScannerCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.187">incScannerCount</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.188">incScannerCount</a>()</pre>
 </li>
 </ul>
 <a name="decScannerCount--">
@@ -707,7 +707,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>decScannerCount</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.193">decScannerCount</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.194">decScannerCount</a>()</pre>
 </li>
 </ul>
 <a name="setCellSet-org.apache.hadoop.hbase.regionserver.CellSet-org.apache.hadoop.hbase.regionserver.CellSet-">
@@ -716,7 +716,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setCellSet</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Segment.html" title="class in org.apache.hadoop.hbase.regionserver">Segment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.205">setCellSet</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSet</a>&nbsp;cellSetOld,
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Segment.html" title="class in org.apache.hadoop.hbase.regionserver">Segment</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.206">setCellSet</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSet</a>&nbsp;cellSetOld,
                              <a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSet</a>&nbsp;cellSetNew)</pre>
 <div class="block">Setting the CellSet of the segment - used only for flat immutable segment for setting
  immutable CellSet after its creation in immutable segment constructor</div>
@@ -732,7 +732,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>keySize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.213">keySize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.214">keySize</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Sum of all cell's size.</dd>
@@ -745,7 +745,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.220">heapSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.221">heapSize</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The heap size of this segment.</dd>
@@ -758,7 +758,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>incSize</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.228">incSize</a>(long&nbsp;delta,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.229">incSize</a>(long&nbsp;delta,
                        long&nbsp;heapOverhead)</pre>
 <div class="block">Updates the size counters of the segment by the given delta</div>
 </li>
@@ -769,7 +769,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMinSequenceId</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.233">getMinSequenceId</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.234">getMinSequenceId</a>()</pre>
 </li>
 </ul>
 <a name="getTimeRangeTracker--">
@@ -778,7 +778,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getTimeRangeTracker</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TimeRangeTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.237">getTimeRangeTracker</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/TimeRangeTracker.html" title="class in org.apache.hadoop.hbase.regionserver">TimeRangeTracker</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.238">getTimeRangeTracker</a>()</pre>
 </li>
 </ul>
 <a name="last--">
@@ -787,7 +787,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>last</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.242">last</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.243">last</a>()</pre>
 </li>
 </ul>
 <a name="iterator--">
@@ -796,7 +796,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>iterator</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.246">iterator</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.247">iterator</a>()</pre>
 </li>
 </ul>
 <a name="headSet-org.apache.hadoop.hbase.Cell-">
@@ -805,7 +805,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>headSet</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.250">headSet</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstKeyOnRow)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.251">headSet</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstKeyOnRow)</pre>
 </li>
 </ul>
 <a name="compare-org.apache.hadoop.hbase.Cell-org.apache.hadoop.hbase.Cell-">
@@ -814,7 +814,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compare</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.254">compare</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.255">compare</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                    <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</pre>
 </li>
 </ul>
@@ -824,7 +824,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compareRows</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.258">compareRows</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.259">compareRows</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;left,
                        <a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;right)</pre>
 </li>
 </ul>
@@ -834,7 +834,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getCellSet</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSet</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.265">getCellSet</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/CellSet.html" title="class in org.apache.hadoop.hbase.regionserver">CellSet</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.266">getCellSet</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>a set of all cells in the segment</dd>
@@ -847,7 +847,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getComparator</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.273">getComparator</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellComparator.html" title="class in org.apache.hadoop.hbase">CellComparator</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.274">getComparator</a>()</pre>
 <div class="block">Returns the Cell comparator used by this segment</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -861,7 +861,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>internalAdd</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.277">internalAdd</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.278">internalAdd</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                            boolean&nbsp;mslabUsed,
                            <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemstoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemstoreSize</a>&nbsp;memstoreSize)</pre>
 </li>
@@ -872,7 +872,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>updateMetaInfo</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.282">updateMetaInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cellToAdd,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.283">updateMetaInfo</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cellToAdd,
                               boolean&nbsp;succ,
                               boolean&nbsp;mslabUsed,
                               <a href="../../../../../org/apache/hadoop/hbase/regionserver/MemstoreSize.html" title="class in org.apache.hadoop.hbase.regionserver">MemstoreSize</a>&nbsp;memstoreSize)</pre>
@@ -884,7 +884,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>heapSizeChange</h4>
-<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.311">heapSizeChange</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
+<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.312">heapSizeChange</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;cell,
                               boolean&nbsp;succ)</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -899,7 +899,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>tailSet</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.324">tailSet</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCell)</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.325">tailSet</a>(<a href="../../../../../org/apache/hadoop/hbase/Cell.html" title="interface in org.apache.hadoop.hbase">Cell</a>&nbsp;firstCell)</pre>
 <div class="block">Returns a subset of the segment cell set, which starts with the given cell</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -915,7 +915,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemStoreLAB</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.329">getMemStoreLAB</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/regionserver/MemStoreLAB.html" title="interface in org.apache.hadoop.hbase.regionserver">MemStoreLAB</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.330">getMemStoreLAB</a>()</pre>
 </li>
 </ul>
 <a name="dump-org.apache.commons.logging.Log-">
@@ -924,7 +924,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>dump</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.337">dump</a>(org.apache.commons.logging.Log&nbsp;log)</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.338">dump</a>(org.apache.commons.logging.Log&nbsp;log)</pre>
 <div class="block">Dumps all cells of the segment into the given log</div>
 </li>
 </ul>
@@ -934,7 +934,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.344">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/Segment.html#line.345">toString</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
index 7c07d66..51267c5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -126,9 +126,9 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/StripeCompactionScanQueryMatcher.DropDeletesInOutput.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">StripeCompactionScanQueryMatcher.DropDeletesInOutput</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteCompare</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">ScanQueryMatcher.MatchCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteResult</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteCompare</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
index d9efa05..dbfbf42 100644
--- a/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/rest/model/package-tree.html
@@ -110,8 +110,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.ByteArrayComparableModel.ComparatorType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.rest.model.<a href="../../../../../../org/apache/hadoop/hbase/rest/model/ScannerModel.FilterModel.FilterType.html" title="enum in org.apache.hadoop.hbase.rest.model"><span class="typeNameLink">ScannerModel.FilterModel.FilterType</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
index 051b200..d466246 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -198,8 +198,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">MetricsThriftServerSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftMetrics.ThriftServerType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftMetrics.ThriftServerType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/ThriftServerRunner.ImplType.html" title="enum in org.apache.hadoop.hbase.thrift"><span class="typeNameLink">ThriftServerRunner.ImplType</span></a></li>
 </ul>
 </li>


[08/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index 0ec10f4..ccde903 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -293,22 +293,22 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.71">m_regionServer</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_format</a></pre>
+<h4>m_bcn</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_bcn</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_bcn__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_format__IsNotDefault</a></pre>
+<h4>m_bcn__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_bcn__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_filter">
@@ -329,22 +329,22 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_bcn">
+<a name="m_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcn</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_bcn</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_format</a></pre>
 </li>
 </ul>
-<a name="m_bcn__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcn__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_bcn__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_bcv">
@@ -408,31 +408,31 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.67">getRegionServer</a>()</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setBcn-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setBcn</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setBcn</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcn)</pre>
 </li>
 </ul>
-<a name="getFormat--">
+<a name="getBcn--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getFormat</a>()</pre>
+<h4>getBcn</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getBcn</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault--">
+<a name="getBcn__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getFormat__IsNotDefault</a>()</pre>
+<h4>getBcn__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getBcn__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setFilter-java.lang.String-">
@@ -462,31 +462,31 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setBcn-java.lang.String-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcn</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setBcn</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bcn)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
 </li>
 </ul>
-<a name="getBcn--">
+<a name="getFormat--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcn</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getBcn</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getBcn__IsNotDefault--">
+<a name="getFormat__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcn__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getBcn__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setBcv-java.lang.String-">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 5076ccd..21d8cd2 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -297,13 +297,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="format">
+<a name="bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.151">format</a></pre>
+<h4>bcn</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.151">bcn</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -315,13 +315,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.158">filter</a></pre>
 </li>
 </ul>
-<a name="bcn">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcn</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.165">bcn</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.165">format</a></pre>
 </li>
 </ul>
 <a name="bcv">
@@ -402,13 +402,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setBcn-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<h4>setBcn</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setBcn</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcn)</pre>
 </li>
 </ul>
 <a name="setFilter-java.lang.String-">
@@ -420,13 +420,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">setFilter</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
 </li>
 </ul>
-<a name="setBcn-java.lang.String-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcn</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setBcn</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_bcn)</pre>
+<h4>setFormat</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setFormat</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
 </li>
 </ul>
 <a name="setBcv-java.lang.String-">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index c382199..4dd647a 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -238,13 +238,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.28">regionServer</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="bcn">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.29">format</a></pre>
+<h4>bcn</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.29">bcn</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -256,13 +256,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.30">filter</a></pre>
 </li>
 </ul>
-<a name="bcn">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcn</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.31">bcn</a></pre>
+<h4>format</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.31">format</a></pre>
 </li>
 </ul>
 <a name="bcv">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html b/devapidocs/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html
index 620a49a..2e65665 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.147">ClassSize.MemoryLayout</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.148">ClassSize.MemoryLayout</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">MemoryLayout abstracts details about the JVM object layout. Default implementation is used in
  case Unsafe is not available.</div>
@@ -211,7 +211,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>MemoryLayout</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.147">MemoryLayout</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.148">MemoryLayout</a>()</pre>
 </li>
 </ul>
 </li>
@@ -228,7 +228,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>headerSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.148">headerSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.149">headerSize</a>()</pre>
 </li>
 </ul>
 <a name="arrayHeaderSize--">
@@ -237,7 +237,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>arrayHeaderSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.152">arrayHeaderSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.153">arrayHeaderSize</a>()</pre>
 </li>
 </ul>
 <a name="oopSize--">
@@ -246,7 +246,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>oopSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.160">oopSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.161">oopSize</a>()</pre>
 <div class="block">Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,
  and CompressedOops</div>
 </li>
@@ -257,7 +257,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>align</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.169">align</a>(long&nbsp;num)</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.170">align</a>(long&nbsp;num)</pre>
 <div class="block">Aligns a number to 8.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -273,7 +273,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sizeOf</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.175">sizeOf</a>(byte[]&nbsp;b,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#line.176">sizeOf</a>(byte[]&nbsp;b,
             int&nbsp;len)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html b/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html
index 138e856..9d88c3e 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html
@@ -107,7 +107,7 @@
 </dl>
 <hr>
 <br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.187">ClassSize.UnsafeLayout.HeaderSize</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.188">ClassSize.UnsafeLayout.HeaderSize</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -186,7 +186,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>a</h4>
-<pre>private&nbsp;byte <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html#line.188">a</a></pre>
+<pre>private&nbsp;byte <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html#line.189">a</a></pre>
 </li>
 </ul>
 </li>
@@ -203,7 +203,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HeaderSize</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html#line.187">HeaderSize</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html#line.188">HeaderSize</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html b/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html
index 882db50..4e7c831 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.185">ClassSize.UnsafeLayout</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.186">ClassSize.UnsafeLayout</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a></pre>
 <div class="block">UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header
  sizes and oop sizes
@@ -231,7 +231,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLay
 <ul class="blockListLast">
 <li class="blockList">
 <h4>UnsafeLayout</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.191">UnsafeLayout</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.192">UnsafeLayout</a>()</pre>
 </li>
 </ul>
 </li>
@@ -248,7 +248,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLay
 <ul class="blockList">
 <li class="blockList">
 <h4>headerSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.195">headerSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.196">headerSize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#headerSize--">headerSize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a></code></dd>
@@ -261,7 +261,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLay
 <ul class="blockList">
 <li class="blockList">
 <h4>arrayHeaderSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.206">arrayHeaderSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.207">arrayHeaderSize</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#arrayHeaderSize--">arrayHeaderSize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a></code></dd>
@@ -274,7 +274,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLay
 <ul class="blockList">
 <li class="blockList">
 <h4>oopSize</h4>
-<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.212">oopSize</a>()</pre>
+<pre>int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.213">oopSize</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html#oopSize--">ClassSize.MemoryLayout</a></code></span></div>
 <div class="block">Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,
  and CompressedOops</div>
@@ -290,7 +290,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLay
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sizeOf</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.220">sizeOf</a>(byte[]&nbsp;b,
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.html#line.221">sizeOf</a>(byte[]&nbsp;b,
             int&nbsp;len)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>


[04/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html
index 84d8465..cf3e8d1 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html
@@ -28,443 +28,450 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>package org.apache.hadoop.hbase.util;<a name="line.21"></a>
 <span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.lang.reflect.Field;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.lang.reflect.Modifier;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">023</span>import com.google.common.annotations.VisibleForTesting;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Field;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.lang.reflect.Modifier;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.31"></a>
 <span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * Class for determining the "size" of a class, an attempt to calculate the<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * actual bytes that an object of this class will occupy in memory<a name="line.35"></a>
-<span class="sourceLineNo">036</span> *<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * The core of this class is taken from the Derby project<a name="line.37"></a>
-<span class="sourceLineNo">038</span> */<a name="line.38"></a>
-<span class="sourceLineNo">039</span>@InterfaceAudience.Private<a name="line.39"></a>
-<span class="sourceLineNo">040</span>public class ClassSize {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private static final Log LOG = LogFactory.getLog(ClassSize.class);<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  /** Array overhead */<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public static final int ARRAY;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  /** Overhead for ArrayList(0) */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public static final int ARRAYLIST;<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  /** Overhead for LinkedList(0) */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public static final int LINKEDLIST;<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>  /** Overhead for a single entry in LinkedList */<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  public static final int LINKEDLIST_ENTRY;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  /** Overhead for ByteBuffer */<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public static final int BYTE_BUFFER;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  /** Overhead for an Integer */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final int INTEGER;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /** Overhead for entry in map */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  public static final int MAP_ENTRY;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  /** Object overhead is minimum 2 * reference size (8 bytes on 64-bit) */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final int OBJECT;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  /** Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public static final int REFERENCE;<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  /** String overhead */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public static final int STRING;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  /** Overhead for TreeMap */<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final int TREEMAP;<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  /** Overhead for ConcurrentHashMap */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final int CONCURRENT_HASHMAP;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  /** Overhead for ConcurrentHashMap.Entry */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public static final int CONCURRENT_HASHMAP_ENTRY;<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  /** Overhead for ConcurrentHashMap.Segment */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  public static final int CONCURRENT_HASHMAP_SEGMENT;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Overhead for ConcurrentSkipListMap */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public static final int CONCURRENT_SKIPLISTMAP;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  /** Overhead for ConcurrentSkipListMap Entry */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public static final int CONCURRENT_SKIPLISTMAP_ENTRY;<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  /** Overhead for CellArrayMap */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public static final int CELL_ARRAY_MAP;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /** Overhead for Cell Array Entry */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public static final int CELL_ARRAY_MAP_ENTRY;<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /** Overhead for ReentrantReadWriteLock */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public static final int REENTRANT_LOCK;<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  /** Overhead for AtomicLong */<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public static final int ATOMIC_LONG;<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /** Overhead for AtomicInteger */<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  public static final int ATOMIC_INTEGER;<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>  /** Overhead for AtomicBoolean */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public static final int ATOMIC_BOOLEAN;<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>  /** Overhead for AtomicReference */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public static final int ATOMIC_REFERENCE;<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  /** Overhead for CopyOnWriteArraySet */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public static final int COPYONWRITE_ARRAYSET;<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Overhead for CopyOnWriteArrayList */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static final int COPYONWRITE_ARRAYLIST;<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  /** Overhead for timerange */<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public static final int TIMERANGE;<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /** Overhead for TimeRangeTracker */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  public static final int TIMERANGE_TRACKER;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  /** Overhead for CellSkipListSet */<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public static final int CELL_SET;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  public static final int STORE_SERVICES;<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  /* Are we running on jdk7? */<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  private static final boolean JDK7;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  static {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    final String version = System.getProperty("java.version");<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    // Verify String looks like this: 1.6.0_29<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (version == null || !version.matches("\\d\\.\\d\\..*")) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      throw new RuntimeException("Unexpected version format: " + version);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    // Convert char to int<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    int major = (int)(version.charAt(0) - '0');<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    int minor = (int)(version.charAt(2) - '0');<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    JDK7 = major == 1 &amp;&amp; minor == 7;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * MemoryLayout abstracts details about the JVM object layout. Default implementation is used in<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * case Unsafe is not available.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  private static class MemoryLayout {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    int headerSize() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      return 2 * oopSize();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>    int arrayHeaderSize() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      return (int) align(3 * oopSize());<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>     * Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,<a name="line.157"></a>
-<span class="sourceLineNo">158</span>     * and CompressedOops<a name="line.158"></a>
-<span class="sourceLineNo">159</span>     */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    int oopSize() {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return is32BitJVM() ? 4 : 8;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    /**<a name="line.164"></a>
-<span class="sourceLineNo">165</span>     * Aligns a number to 8.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>     * @param num number to align to 8<a name="line.166"></a>
-<span class="sourceLineNo">167</span>     * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.167"></a>
-<span class="sourceLineNo">168</span>     */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public long align(long num) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      //The 7 comes from that the alignSize is 8 which is the number of bytes<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      //stored and sent together<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      return  ((num + 7) &gt;&gt; 3) &lt;&lt; 3;<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>    long sizeOf(byte[] b, int len) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return align(arrayHeaderSize() + len);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * sizes and oop sizes<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * See HBASE-15950.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private static class UnsafeLayout extends MemoryLayout {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    @SuppressWarnings("unused")<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    private static final class HeaderSize {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      private byte a;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public UnsafeLayout() {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    }<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    int headerSize() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      try {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        return (int) UnsafeAccess.theUnsafe.objectFieldOffset(<a name="line.197"></a>
-<span class="sourceLineNo">198</span>          HeaderSize.class.getDeclaredField("a"));<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      } catch (NoSuchFieldException | SecurityException e) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        LOG.error(e);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      return super.headerSize();<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    int arrayHeaderSize() {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return UnsafeAccess.theUnsafe.arrayBaseOffset(byte[].class);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>    @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    @SuppressWarnings("static-access")<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    int oopSize() {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      // Unsafe.addressSize() returns 8, even with CompressedOops. This is how many bytes each<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      // element is allocated in an Object[].<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      return UnsafeAccess.theUnsafe.ARRAY_OBJECT_INDEX_SCALE;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>    @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    @SuppressWarnings("static-access")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    long sizeOf(byte[] b, int len) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      return align(arrayHeaderSize() + len * UnsafeAccess.theUnsafe.ARRAY_BYTE_INDEX_SCALE);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static MemoryLayout getMemoryLayout() {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    // Have a safeguard in case Unsafe estimate is wrong. This is static context, there is<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // no configuration, so we look at System property.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    String enabled = System.getProperty("hbase.memorylayout.use.unsafe");<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    if (UnsafeAvailChecker.isAvailable() &amp;&amp; (enabled == null || Boolean.parseBoolean(enabled))) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      LOG.debug("Using Unsafe to estimate memory layout");<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      return new UnsafeLayout();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    LOG.debug("Not using Unsafe to estimate memory layout");<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    return new MemoryLayout();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private static final MemoryLayout memoryLayout = getMemoryLayout();<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Method for reading the arc settings and setting overheads according<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * to 32-bit or 64-bit architecture.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  static {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    REFERENCE = memoryLayout.oopSize();<a name="line.244"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Class for determining the "size" of a class, an attempt to calculate the<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * actual bytes that an object of this class will occupy in memory<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * The core of this class is taken from the Derby project<a name="line.38"></a>
+<span class="sourceLineNo">039</span> */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>@InterfaceAudience.Private<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public class ClassSize {<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  private static final Log LOG = LogFactory.getLog(ClassSize.class);<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>  /** Array overhead */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public static final int ARRAY;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  /** Overhead for ArrayList(0) */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public static final int ARRAYLIST;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  /** Overhead for LinkedList(0) */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public static final int LINKEDLIST;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>  /** Overhead for a single entry in LinkedList */<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public static final int LINKEDLIST_ENTRY;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  /** Overhead for ByteBuffer */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public static final int BYTE_BUFFER;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /** Overhead for an Integer */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final int INTEGER;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  /** Overhead for entry in map */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public static final int MAP_ENTRY;<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  /** Object overhead is minimum 2 * reference size (8 bytes on 64-bit) */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public static final int OBJECT;<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /** Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public static final int REFERENCE;<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  /** String overhead */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  public static final int STRING;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  /** Overhead for TreeMap */<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final int TREEMAP;<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  /** Overhead for ConcurrentHashMap */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final int CONCURRENT_HASHMAP;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  /** Overhead for ConcurrentHashMap.Entry */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  public static final int CONCURRENT_HASHMAP_ENTRY;<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /** Overhead for ConcurrentHashMap.Segment */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public static final int CONCURRENT_HASHMAP_SEGMENT;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /** Overhead for ConcurrentSkipListMap */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public static final int CONCURRENT_SKIPLISTMAP;<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>  /** Overhead for ConcurrentSkipListMap Entry */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public static final int CONCURRENT_SKIPLISTMAP_ENTRY;<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>  /** Overhead for CellArrayMap */<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public static final int CELL_ARRAY_MAP;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  /** Overhead for Cell Array Entry */<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public static final int CELL_ARRAY_MAP_ENTRY;<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /** Overhead for ReentrantReadWriteLock */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public static final int REENTRANT_LOCK;<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  /** Overhead for AtomicLong */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  public static final int ATOMIC_LONG;<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /** Overhead for AtomicInteger */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  public static final int ATOMIC_INTEGER;<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  /** Overhead for AtomicBoolean */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public static final int ATOMIC_BOOLEAN;<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /** Overhead for AtomicReference */<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public static final int ATOMIC_REFERENCE;<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  /** Overhead for CopyOnWriteArraySet */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public static final int COPYONWRITE_ARRAYSET;<a name="line.114"></a>
+<span class="sourceLineNo">115</span><a name="line.115"></a>
+<span class="sourceLineNo">116</span>  /** Overhead for CopyOnWriteArrayList */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static final int COPYONWRITE_ARRAYLIST;<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  /** Overhead for timerange */<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public static final int TIMERANGE;<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /** Overhead for TimeRangeTracker */<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  public static final int TIMERANGE_TRACKER;<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>  /** Overhead for CellSkipListSet */<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public static final int CELL_SET;<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>  public static final int STORE_SERVICES;<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span>  /* Are we running on jdk7? */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  private static final boolean JDK7;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  static {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    final String version = System.getProperty("java.version");<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    // Verify String looks like this: 1.6.0_29<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    if (version == null || !version.matches("\\d\\.\\d\\..*")) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      throw new RuntimeException("Unexpected version format: " + version);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    // Convert char to int<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    int major = (int)(version.charAt(0) - '0');<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    int minor = (int)(version.charAt(2) - '0');<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    JDK7 = major == 1 &amp;&amp; minor == 7;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * MemoryLayout abstracts details about the JVM object layout. Default implementation is used in<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * case Unsafe is not available.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  private static class MemoryLayout {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    int headerSize() {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      return 2 * oopSize();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>    int arrayHeaderSize() {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return (int) align(3 * oopSize());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    /**<a name="line.157"></a>
+<span class="sourceLineNo">158</span>     * Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,<a name="line.158"></a>
+<span class="sourceLineNo">159</span>     * and CompressedOops<a name="line.159"></a>
+<span class="sourceLineNo">160</span>     */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    int oopSize() {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      return is32BitJVM() ? 4 : 8;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    /**<a name="line.165"></a>
+<span class="sourceLineNo">166</span>     * Aligns a number to 8.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>     * @param num number to align to 8<a name="line.167"></a>
+<span class="sourceLineNo">168</span>     * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.168"></a>
+<span class="sourceLineNo">169</span>     */<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    public long align(long num) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      //The 7 comes from that the alignSize is 8 which is the number of bytes<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      //stored and sent together<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      return  ((num + 7) &gt;&gt; 3) &lt;&lt; 3;<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>    long sizeOf(byte[] b, int len) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      return align(arrayHeaderSize() + len);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * sizes and oop sizes<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * See HBASE-15950.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  private static class UnsafeLayout extends MemoryLayout {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    @SuppressWarnings("unused")<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    private static final class HeaderSize {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      private byte a;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>    public UnsafeLayout() {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span>    @Override<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    int headerSize() {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      try {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        return (int) UnsafeAccess.theUnsafe.objectFieldOffset(<a name="line.198"></a>
+<span class="sourceLineNo">199</span>          HeaderSize.class.getDeclaredField("a"));<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      } catch (NoSuchFieldException | SecurityException e) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        LOG.error(e);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return super.headerSize();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    @Override<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    int arrayHeaderSize() {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return UnsafeAccess.theUnsafe.arrayBaseOffset(byte[].class);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>    @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    @SuppressWarnings("static-access")<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    int oopSize() {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      // Unsafe.addressSize() returns 8, even with CompressedOops. This is how many bytes each<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      // element is allocated in an Object[].<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return UnsafeAccess.theUnsafe.ARRAY_OBJECT_INDEX_SCALE;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    @SuppressWarnings("static-access")<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    long sizeOf(byte[] b, int len) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return align(arrayHeaderSize() + len * UnsafeAccess.theUnsafe.ARRAY_BYTE_INDEX_SCALE);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  private static MemoryLayout getMemoryLayout() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    // Have a safeguard in case Unsafe estimate is wrong. This is static context, there is<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    // no configuration, so we look at System property.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    String enabled = System.getProperty("hbase.memorylayout.use.unsafe");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    if (UnsafeAvailChecker.isAvailable() &amp;&amp; (enabled == null || Boolean.parseBoolean(enabled))) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      LOG.debug("Using Unsafe to estimate memory layout");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      return new UnsafeLayout();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    LOG.debug("Not using Unsafe to estimate memory layout");<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    return new MemoryLayout();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  private static final MemoryLayout memoryLayout = getMemoryLayout();<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  private static final boolean USE_UNSAFE_LAYOUT = (memoryLayout instanceof UnsafeLayout);<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  @VisibleForTesting<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  public static boolean useUnsafeLayout() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    return USE_UNSAFE_LAYOUT;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
 <span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>    OBJECT = memoryLayout.headerSize();<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>    ARRAY = memoryLayout.arrayHeaderSize();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>    ARRAYLIST = align(OBJECT + REFERENCE + (2 * Bytes.SIZEOF_INT)) + align(ARRAY);<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    LINKEDLIST = align(OBJECT + (2 * Bytes.SIZEOF_INT) + (2 * REFERENCE));<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>    LINKEDLIST_ENTRY = align(OBJECT + (2 * REFERENCE));<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    //noinspection PointlessArithmeticExpression<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    BYTE_BUFFER = align(OBJECT + REFERENCE +<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        (5 * Bytes.SIZEOF_INT) +<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        (3 * Bytes.SIZEOF_BOOLEAN) + Bytes.SIZEOF_LONG) + align(ARRAY);<a name="line.259"></a>
+<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   * Method for reading the arc settings and setting overheads according<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * to 32-bit or 64-bit architecture.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  static {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    REFERENCE = memoryLayout.oopSize();<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>    OBJECT = memoryLayout.headerSize();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>    ARRAY = memoryLayout.arrayHeaderSize();<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>    ARRAYLIST = align(OBJECT + REFERENCE + (2 * Bytes.SIZEOF_INT)) + align(ARRAY);<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>    LINKEDLIST = align(OBJECT + (2 * Bytes.SIZEOF_INT) + (2 * REFERENCE));<a name="line.259"></a>
 <span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>    INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.261"></a>
+<span class="sourceLineNo">261</span>    LINKEDLIST_ENTRY = align(OBJECT + (2 * REFERENCE));<a name="line.261"></a>
 <span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>    MAP_ENTRY = align(OBJECT + 5 * REFERENCE + Bytes.SIZEOF_BOOLEAN);<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    TREEMAP = align(OBJECT + (2 * Bytes.SIZEOF_INT) + 7 * REFERENCE);<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    // STRING is different size in jdk6 and jdk7. Just use what we estimate as size rather than<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    // have a conditional on whether jdk7.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    STRING = (int) estimateBase(String.class, false);<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>    // CONCURRENT_HASHMAP is different size in jdk6 and jdk7; it looks like its different between<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    // 23.6-b03 and 23.0-b21. Just use what we estimate as size rather than have a conditional on<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    // whether jdk7.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    CONCURRENT_HASHMAP = (int) estimateBase(ConcurrentHashMap.class, false);<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    CONCURRENT_HASHMAP_ENTRY = align(REFERENCE + OBJECT + (3 * REFERENCE) +<a name="line.276"></a>
-<span class="sourceLineNo">277</span>        (2 * Bytes.SIZEOF_INT));<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    CONCURRENT_HASHMAP_SEGMENT = align(REFERENCE + OBJECT +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        (3 * Bytes.SIZEOF_INT) + Bytes.SIZEOF_FLOAT + ARRAY);<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>    // The size changes from jdk7 to jdk8, estimate the size rather than use a conditional<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    CONCURRENT_SKIPLISTMAP = (int) estimateBase(ConcurrentSkipListMap.class, false);<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    // CELL_ARRAY_MAP is the size of an instance of CellArrayMap class, which extends<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    // CellFlatMap class. CellArrayMap object containing a ref to an Array, so<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    // OBJECT + REFERENCE + ARRAY<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // CellFlatMap object contains two integers, one boolean and one reference to object, so<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    // 2*INT + BOOLEAN + REFERENCE<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    CELL_ARRAY_MAP = align(OBJECT + 2*Bytes.SIZEOF_INT + Bytes.SIZEOF_BOOLEAN<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        + ARRAY + 2*REFERENCE);<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    CONCURRENT_SKIPLISTMAP_ENTRY = align(<a name="line.293"></a>
-<span class="sourceLineNo">294</span>        align(OBJECT + (3 * REFERENCE)) + /* one node per entry */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        align((OBJECT + (3 * REFERENCE))/2)); /* one index per two entries */<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>    // REFERENCE in the CellArrayMap all the rest is counted in KeyValue.heapSize()<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    CELL_ARRAY_MAP_ENTRY = align(REFERENCE);<a name="line.298"></a>
+<span class="sourceLineNo">263</span>    //noinspection PointlessArithmeticExpression<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    BYTE_BUFFER = align(OBJECT + REFERENCE +<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        (5 * Bytes.SIZEOF_INT) +<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        (3 * Bytes.SIZEOF_BOOLEAN) + Bytes.SIZEOF_LONG) + align(ARRAY);<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>    INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    MAP_ENTRY = align(OBJECT + 5 * REFERENCE + Bytes.SIZEOF_BOOLEAN);<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    TREEMAP = align(OBJECT + (2 * Bytes.SIZEOF_INT) + 7 * REFERENCE);<a name="line.272"></a>
+<span class="sourceLineNo">273</span><a name="line.273"></a>
+<span class="sourceLineNo">274</span>    // STRING is different size in jdk6 and jdk7. Just use what we estimate as size rather than<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    // have a conditional on whether jdk7.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    STRING = (int) estimateBase(String.class, false);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>    // CONCURRENT_HASHMAP is different size in jdk6 and jdk7; it looks like its different between<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    // 23.6-b03 and 23.0-b21. Just use what we estimate as size rather than have a conditional on<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    // whether jdk7.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    CONCURRENT_HASHMAP = (int) estimateBase(ConcurrentHashMap.class, false);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>    CONCURRENT_HASHMAP_ENTRY = align(REFERENCE + OBJECT + (3 * REFERENCE) +<a name="line.283"></a>
+<span class="sourceLineNo">284</span>        (2 * Bytes.SIZEOF_INT));<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    CONCURRENT_HASHMAP_SEGMENT = align(REFERENCE + OBJECT +<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        (3 * Bytes.SIZEOF_INT) + Bytes.SIZEOF_FLOAT + ARRAY);<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span>    // The size changes from jdk7 to jdk8, estimate the size rather than use a conditional<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    CONCURRENT_SKIPLISTMAP = (int) estimateBase(ConcurrentSkipListMap.class, false);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // CELL_ARRAY_MAP is the size of an instance of CellArrayMap class, which extends<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    // CellFlatMap class. CellArrayMap object containing a ref to an Array, so<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    // OBJECT + REFERENCE + ARRAY<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    // CellFlatMap object contains two integers, one boolean and one reference to object, so<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    // 2*INT + BOOLEAN + REFERENCE<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    CELL_ARRAY_MAP = align(OBJECT + 2*Bytes.SIZEOF_INT + Bytes.SIZEOF_BOOLEAN<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        + ARRAY + 2*REFERENCE);<a name="line.298"></a>
 <span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>    REENTRANT_LOCK = align(OBJECT + (3 * REFERENCE));<a name="line.300"></a>
-<span class="sourceLineNo">301</span><a name="line.301"></a>
-<span class="sourceLineNo">302</span>    ATOMIC_LONG = align(OBJECT + Bytes.SIZEOF_LONG);<a name="line.302"></a>
+<span class="sourceLineNo">300</span>    CONCURRENT_SKIPLISTMAP_ENTRY = align(<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        align(OBJECT + (3 * REFERENCE)) + /* one node per entry */<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        align((OBJECT + (3 * REFERENCE))/2)); /* one index per two entries */<a name="line.302"></a>
 <span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    ATOMIC_INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ATOMIC_BOOLEAN = align(OBJECT + Bytes.SIZEOF_BOOLEAN);<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    ATOMIC_REFERENCE = align(OBJECT + REFERENCE);<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    COPYONWRITE_ARRAYSET = align(OBJECT + REFERENCE);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    COPYONWRITE_ARRAYLIST = align(OBJECT + (2 * REFERENCE) + ARRAY);<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    TIMERANGE = align(ClassSize.OBJECT + Bytes.SIZEOF_LONG * 2 + Bytes.SIZEOF_BOOLEAN);<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>    TIMERANGE_TRACKER = align(ClassSize.OBJECT + 2 * REFERENCE);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CELL_SET = align(OBJECT + REFERENCE);<a name="line.317"></a>
+<span class="sourceLineNo">304</span>    // REFERENCE in the CellArrayMap all the rest is counted in KeyValue.heapSize()<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    CELL_ARRAY_MAP_ENTRY = align(REFERENCE);<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    REENTRANT_LOCK = align(OBJECT + (3 * REFERENCE));<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ATOMIC_LONG = align(OBJECT + Bytes.SIZEOF_LONG);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    ATOMIC_INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>    ATOMIC_BOOLEAN = align(OBJECT + Bytes.SIZEOF_BOOLEAN);<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    ATOMIC_REFERENCE = align(OBJECT + REFERENCE);<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>    COPYONWRITE_ARRAYSET = align(OBJECT + REFERENCE);<a name="line.317"></a>
 <span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>    STORE_SERVICES = align(OBJECT + REFERENCE + ATOMIC_LONG);<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * The estimate of the size of a class instance depends on whether the JVM<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * uses 32 or 64 bit addresses, that is it depends on the size of an object<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * reference. It is a linear function of the size of a reference, e.g.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * 24 + 5*r where r is the size of a reference (usually 4 or 8 bytes).<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * This method returns the coefficients of the linear function, e.g. {24, 5}<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * in the above example.<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   *<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param cl A class whose instance size is to be estimated<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @param debug debug flag<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @return an array of 3 integers. The first integer is the size of the<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * primitives, the second the number of arrays and the third the number of<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * references.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  @SuppressWarnings("unchecked")<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private static int [] getSizeCoefficients(Class cl, boolean debug) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int primitives = 0;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    int arrays = 0;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    int references = 0;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    int index = 0;<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>    for ( ; null != cl; cl = cl.getSuperclass()) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      Field[] field = cl.getDeclaredFields();<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      if (null != field) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        for (Field aField : field) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>          if (Modifier.isStatic(aField.getModifiers())) continue;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>          Class fieldClass = aField.getType();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>          if (fieldClass.isArray()) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>            arrays++;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            references++;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>          } else if (!fieldClass.isPrimitive()) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>            references++;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          } else {// Is simple primitive<a name="line.355"></a>
-<span class="sourceLineNo">356</span>            String name = fieldClass.getName();<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>            if (name.equals("int") || name.equals("I"))<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              primitives += Bytes.SIZEOF_INT;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>            else if (name.equals("long") || name.equals("J"))<a name="line.360"></a>
-<span class="sourceLineNo">361</span>              primitives += Bytes.SIZEOF_LONG;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>            else if (name.equals("boolean") || name.equals("Z"))<a name="line.362"></a>
-<span class="sourceLineNo">363</span>              primitives += Bytes.SIZEOF_BOOLEAN;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>            else if (name.equals("short") || name.equals("S"))<a name="line.364"></a>
-<span class="sourceLineNo">365</span>              primitives += Bytes.SIZEOF_SHORT;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>            else if (name.equals("byte") || name.equals("B"))<a name="line.366"></a>
-<span class="sourceLineNo">367</span>              primitives += Bytes.SIZEOF_BYTE;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            else if (name.equals("char") || name.equals("C"))<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              primitives += Bytes.SIZEOF_CHAR;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>            else if (name.equals("float") || name.equals("F"))<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              primitives += Bytes.SIZEOF_FLOAT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>            else if (name.equals("double") || name.equals("D"))<a name="line.372"></a>
-<span class="sourceLineNo">373</span>              primitives += Bytes.SIZEOF_DOUBLE;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          if (debug) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>            if (LOG.isDebugEnabled()) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>              LOG.debug("" + index + " " + aField.getName() + " " + aField.getType());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>            }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          index++;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new int [] {primitives, arrays, references};<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Estimate the static space taken up by a class instance given the<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * coefficients returned by getSizeCoefficients.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   *<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param coeff the coefficients<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   *<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * @param debug debug flag<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * @return the size estimate, in bytes<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   */<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  private static long estimateBaseFromCoefficients(int [] coeff, boolean debug) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    long prealign_size = OBJECT + coeff[0] + coeff[2] * REFERENCE;<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Round up to a multiple of 8<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    long size = align(prealign_size) + align(coeff[1] * ARRAY);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    if (debug) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (LOG.isDebugEnabled()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        LOG.debug("Primitives=" + coeff[0] + ", arrays=" + coeff[1] +<a name="line.403"></a>
-<span class="sourceLineNo">404</span>            ", references=" + coeff[2] + ", refSize " + REFERENCE +<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            ", size=" + size + ", prealign_size=" + prealign_size);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      }<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    return size;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  /**<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * Estimate the static space taken up by the fields of a class. This includes<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * the space taken up by by references (the pointer) but not by the referenced<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * object. So the estimated size of an array field does not depend on the size<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * of the array. Similarly the size of an object (reference) field does not<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * depend on the object.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   *<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param cl class<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param debug debug flag<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * @return the size estimate in bytes.<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @SuppressWarnings("unchecked")<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public static long estimateBase(Class cl, boolean debug) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    return estimateBaseFromCoefficients( getSizeCoefficients(cl, debug), debug);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  /**<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * Aligns a number to 8.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param num number to align to 8<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public static int align(int num) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return (int)(align((long)num));<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  /**<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * Aligns a number to 8.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param num number to align to 8<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   */<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  public static long align(long num) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return memoryLayout.align(num);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Determines if we are running in a 32-bit JVM. Some unit tests need to<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * know this too.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   */<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  public static boolean is32BitJVM() {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    final String model = System.getProperty("sun.arch.data.model");<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    return model != null &amp;&amp; model.equals("32");<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
-<span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public static long sizeOf(byte[] b, int len) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return memoryLayout.sizeOf(b, len);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>}<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">319</span>    COPYONWRITE_ARRAYLIST = align(OBJECT + (2 * REFERENCE) + ARRAY);<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>    TIMERANGE = align(ClassSize.OBJECT + Bytes.SIZEOF_LONG * 2 + Bytes.SIZEOF_BOOLEAN);<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>    TIMERANGE_TRACKER = align(ClassSize.OBJECT + 2 * REFERENCE);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    CELL_SET = align(OBJECT + REFERENCE);<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    STORE_SERVICES = align(OBJECT + REFERENCE + ATOMIC_LONG);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * The estimate of the size of a class instance depends on whether the JVM<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * uses 32 or 64 bit addresses, that is it depends on the size of an object<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * reference. It is a linear function of the size of a reference, e.g.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * 24 + 5*r where r is the size of a reference (usually 4 or 8 bytes).<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   *<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * This method returns the coefficients of the linear function, e.g. {24, 5}<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * in the above example.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   *<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param cl A class whose instance size is to be estimated<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param debug debug flag<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return an array of 3 integers. The first integer is the size of the<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * primitives, the second the number of arrays and the third the number of<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * references.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  @SuppressWarnings("unchecked")<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  private static int [] getSizeCoefficients(Class cl, boolean debug) {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    int primitives = 0;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    int arrays = 0;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    int references = 0;<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    int index = 0;<a name="line.349"></a>
+<span class="sourceLineNo">350</span><a name="line.350"></a>
+<span class="sourceLineNo">351</span>    for ( ; null != cl; cl = cl.getSuperclass()) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      Field[] field = cl.getDeclaredFields();<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      if (null != field) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        for (Field aField : field) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          if (Modifier.isStatic(aField.getModifiers())) continue;<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          Class fieldClass = aField.getType();<a name="line.356"></a>
+<span class="sourceLineNo">357</span>          if (fieldClass.isArray()) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>            arrays++;<a name="line.358"></a>
+<span class="sourceLineNo">359</span>            references++;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          } else if (!fieldClass.isPrimitive()) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>            references++;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          } else {// Is simple primitive<a name="line.362"></a>
+<span class="sourceLineNo">363</span>            String name = fieldClass.getName();<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>            if (name.equals("int") || name.equals("I"))<a name="line.365"></a>
+<span class="sourceLineNo">366</span>              primitives += Bytes.SIZEOF_INT;<a name="line.366"></a>
+<span class="sourceLineNo">367</span>            else if (name.equals("long") || name.equals("J"))<a name="line.367"></a>
+<span class="sourceLineNo">368</span>              primitives += Bytes.SIZEOF_LONG;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>            else if (name.equals("boolean") || name.equals("Z"))<a name="line.369"></a>
+<span class="sourceLineNo">370</span>              primitives += Bytes.SIZEOF_BOOLEAN;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>            else if (name.equals("short") || name.equals("S"))<a name="line.371"></a>
+<span class="sourceLineNo">372</span>              primitives += Bytes.SIZEOF_SHORT;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>            else if (name.equals("byte") || name.equals("B"))<a name="line.373"></a>
+<span class="sourceLineNo">374</span>              primitives += Bytes.SIZEOF_BYTE;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>            else if (name.equals("char") || name.equals("C"))<a name="line.375"></a>
+<span class="sourceLineNo">376</span>              primitives += Bytes.SIZEOF_CHAR;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>            else if (name.equals("float") || name.equals("F"))<a name="line.377"></a>
+<span class="sourceLineNo">378</span>              primitives += Bytes.SIZEOF_FLOAT;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>            else if (name.equals("double") || name.equals("D"))<a name="line.379"></a>
+<span class="sourceLineNo">380</span>              primitives += Bytes.SIZEOF_DOUBLE;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          }<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (debug) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            if (LOG.isDebugEnabled()) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>              LOG.debug("" + index + " " + aField.getName() + " " + aField.getType());<a name="line.384"></a>
+<span class="sourceLineNo">385</span>            }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          }<a name="line.386"></a>
+<span class="sourceLineNo">387</span>          index++;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    return new int [] {primitives, arrays, references};<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>  /**<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * Estimate the static space taken up by a class instance given the<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * coefficients returned by getSizeCoefficients.<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * @param coeff the coefficients<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   *<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * @param debug debug flag<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @return the size estimate, in bytes<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  private static long estimateBaseFromCoefficients(int [] coeff, boolean debug) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    long prealign_size = OBJECT + coeff[0] + coeff[2] * REFERENCE;<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>    // Round up to a multiple of 8<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    long size = align(prealign_size) + align(coeff[1] * ARRAY);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    if (debug) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      if (LOG.isDebugEnabled()) {<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        LOG.debug("Primitives=" + coeff[0] + ", arrays=" + coeff[1] +<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            ", references=" + coeff[2] + ", refSize " + REFERENCE +<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            ", size=" + size + ", prealign_size=" + prealign_size);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    return size;<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  }<a name="line.416"></a>
+<span class="sourceLineNo">417</span><a name="line.417"></a>
+<span class="sourceLineNo">418</span>  /**<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * Estimate the static space taken up by the fields of a class. This includes<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * the space taken up by by references (the pointer) but not by the referenced<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * object. So the estimated size of an array field does not depend on the size<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * of the array. Similarly the size of an object (reference) field does not<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * depend on the object.<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   *<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * @param cl class<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param debug debug flag<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @return the size estimate in bytes.<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   */<a name="line.428"></a>
+<span class="sourceLineNo">429</span>  @SuppressWarnings("unchecked")<a name="line.429"></a>
+<span class="sourceLineNo">430</span>  public static long estimateBase(Class cl, boolean debug) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    return estimateBaseFromCoefficients( getSizeCoefficients(cl, debug), debug);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  /**<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * Aligns a number to 8.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * @param num number to align to 8<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  public static int align(int num) {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    return (int)(align((long)num));<a name="line.440"></a>
+<span class="sourceLineNo">441</span>  }<a name="line.441"></a>
+<span class="sourceLineNo">442</span><a name="line.442"></a>
+<span class="sourceLineNo">443</span>  /**<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * Aligns a number to 8.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * @param num number to align to 8<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
+<span class="sourceLineNo">448</span>  public static long align(long num) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    return memoryLayout.align(num);<a name="line.449"></a>
+<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span>  /**<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * Determines if we are running in a 32-bit JVM. Some unit tests need to<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * know this too.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  public static boolean is32BitJVM() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    final String model = System.getProperty("sun.arch.data.model");<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return model != null &amp;&amp; model.equals("32");<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  public static long sizeOf(byte[] b, int len) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return memoryLayout.sizeOf(b, len);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>}<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
 
 
 


[06/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

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

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


[03/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html b/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html
index 84d8465..cf3e8d1 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/util/ClassSize.UnsafeLayout.HeaderSize.html
@@ -28,443 +28,450 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>package org.apache.hadoop.hbase.util;<a name="line.21"></a>
 <span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.lang.reflect.Field;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.lang.reflect.Modifier;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.logging.Log;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.LogFactory;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.30"></a>
-<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">023</span>import com.google.common.annotations.VisibleForTesting;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Field;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.lang.reflect.Modifier;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.util.concurrent.ConcurrentSkipListMap;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.31"></a>
 <span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>/**<a name="line.33"></a>
-<span class="sourceLineNo">034</span> * Class for determining the "size" of a class, an attempt to calculate the<a name="line.34"></a>
-<span class="sourceLineNo">035</span> * actual bytes that an object of this class will occupy in memory<a name="line.35"></a>
-<span class="sourceLineNo">036</span> *<a name="line.36"></a>
-<span class="sourceLineNo">037</span> * The core of this class is taken from the Derby project<a name="line.37"></a>
-<span class="sourceLineNo">038</span> */<a name="line.38"></a>
-<span class="sourceLineNo">039</span>@InterfaceAudience.Private<a name="line.39"></a>
-<span class="sourceLineNo">040</span>public class ClassSize {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>  private static final Log LOG = LogFactory.getLog(ClassSize.class);<a name="line.41"></a>
-<span class="sourceLineNo">042</span><a name="line.42"></a>
-<span class="sourceLineNo">043</span>  /** Array overhead */<a name="line.43"></a>
-<span class="sourceLineNo">044</span>  public static final int ARRAY;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  /** Overhead for ArrayList(0) */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>  public static final int ARRAYLIST;<a name="line.47"></a>
-<span class="sourceLineNo">048</span><a name="line.48"></a>
-<span class="sourceLineNo">049</span>  /** Overhead for LinkedList(0) */<a name="line.49"></a>
-<span class="sourceLineNo">050</span>  public static final int LINKEDLIST;<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>  /** Overhead for a single entry in LinkedList */<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  public static final int LINKEDLIST_ENTRY;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  /** Overhead for ByteBuffer */<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public static final int BYTE_BUFFER;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  /** Overhead for an Integer */<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  public static final int INTEGER;<a name="line.59"></a>
-<span class="sourceLineNo">060</span><a name="line.60"></a>
-<span class="sourceLineNo">061</span>  /** Overhead for entry in map */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  public static final int MAP_ENTRY;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  /** Object overhead is minimum 2 * reference size (8 bytes on 64-bit) */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final int OBJECT;<a name="line.65"></a>
-<span class="sourceLineNo">066</span><a name="line.66"></a>
-<span class="sourceLineNo">067</span>  /** Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit */<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  public static final int REFERENCE;<a name="line.68"></a>
-<span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  /** String overhead */<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  public static final int STRING;<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  /** Overhead for TreeMap */<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static final int TREEMAP;<a name="line.74"></a>
-<span class="sourceLineNo">075</span><a name="line.75"></a>
-<span class="sourceLineNo">076</span>  /** Overhead for ConcurrentHashMap */<a name="line.76"></a>
-<span class="sourceLineNo">077</span>  public static final int CONCURRENT_HASHMAP;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  /** Overhead for ConcurrentHashMap.Entry */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public static final int CONCURRENT_HASHMAP_ENTRY;<a name="line.80"></a>
-<span class="sourceLineNo">081</span><a name="line.81"></a>
-<span class="sourceLineNo">082</span>  /** Overhead for ConcurrentHashMap.Segment */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>  public static final int CONCURRENT_HASHMAP_SEGMENT;<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  /** Overhead for ConcurrentSkipListMap */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public static final int CONCURRENT_SKIPLISTMAP;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  /** Overhead for ConcurrentSkipListMap Entry */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public static final int CONCURRENT_SKIPLISTMAP_ENTRY;<a name="line.89"></a>
-<span class="sourceLineNo">090</span><a name="line.90"></a>
-<span class="sourceLineNo">091</span>  /** Overhead for CellArrayMap */<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  public static final int CELL_ARRAY_MAP;<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  /** Overhead for Cell Array Entry */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public static final int CELL_ARRAY_MAP_ENTRY;<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /** Overhead for ReentrantReadWriteLock */<a name="line.97"></a>
-<span class="sourceLineNo">098</span>  public static final int REENTRANT_LOCK;<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  /** Overhead for AtomicLong */<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public static final int ATOMIC_LONG;<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /** Overhead for AtomicInteger */<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  public static final int ATOMIC_INTEGER;<a name="line.104"></a>
-<span class="sourceLineNo">105</span><a name="line.105"></a>
-<span class="sourceLineNo">106</span>  /** Overhead for AtomicBoolean */<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  public static final int ATOMIC_BOOLEAN;<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>  /** Overhead for AtomicReference */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  public static final int ATOMIC_REFERENCE;<a name="line.110"></a>
-<span class="sourceLineNo">111</span><a name="line.111"></a>
-<span class="sourceLineNo">112</span>  /** Overhead for CopyOnWriteArraySet */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public static final int COPYONWRITE_ARRAYSET;<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>  /** Overhead for CopyOnWriteArrayList */<a name="line.115"></a>
-<span class="sourceLineNo">116</span>  public static final int COPYONWRITE_ARRAYLIST;<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>  /** Overhead for timerange */<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public static final int TIMERANGE;<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /** Overhead for TimeRangeTracker */<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  public static final int TIMERANGE_TRACKER;<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>  /** Overhead for CellSkipListSet */<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  public static final int CELL_SET;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  public static final int STORE_SERVICES;<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  /* Are we running on jdk7? */<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  private static final boolean JDK7;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  static {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    final String version = System.getProperty("java.version");<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    // Verify String looks like this: 1.6.0_29<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    if (version == null || !version.matches("\\d\\.\\d\\..*")) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      throw new RuntimeException("Unexpected version format: " + version);<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    // Convert char to int<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    int major = (int)(version.charAt(0) - '0');<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    int minor = (int)(version.charAt(2) - '0');<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    JDK7 = major == 1 &amp;&amp; minor == 7;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  }<a name="line.141"></a>
-<span class="sourceLineNo">142</span><a name="line.142"></a>
-<span class="sourceLineNo">143</span>  /**<a name="line.143"></a>
-<span class="sourceLineNo">144</span>   * MemoryLayout abstracts details about the JVM object layout. Default implementation is used in<a name="line.144"></a>
-<span class="sourceLineNo">145</span>   * case Unsafe is not available.<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   */<a name="line.146"></a>
-<span class="sourceLineNo">147</span>  private static class MemoryLayout {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    int headerSize() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      return 2 * oopSize();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>    int arrayHeaderSize() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      return (int) align(3 * oopSize());<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>     * Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,<a name="line.157"></a>
-<span class="sourceLineNo">158</span>     * and CompressedOops<a name="line.158"></a>
-<span class="sourceLineNo">159</span>     */<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    int oopSize() {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return is32BitJVM() ? 4 : 8;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span><a name="line.163"></a>
-<span class="sourceLineNo">164</span>    /**<a name="line.164"></a>
-<span class="sourceLineNo">165</span>     * Aligns a number to 8.<a name="line.165"></a>
-<span class="sourceLineNo">166</span>     * @param num number to align to 8<a name="line.166"></a>
-<span class="sourceLineNo">167</span>     * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.167"></a>
-<span class="sourceLineNo">168</span>     */<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    public long align(long num) {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      //The 7 comes from that the alignSize is 8 which is the number of bytes<a name="line.170"></a>
-<span class="sourceLineNo">171</span>      //stored and sent together<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      return  ((num + 7) &gt;&gt; 3) &lt;&lt; 3;<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>    long sizeOf(byte[] b, int len) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      return align(arrayHeaderSize() + len);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    }<a name="line.177"></a>
-<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>  /**<a name="line.180"></a>
-<span class="sourceLineNo">181</span>   * UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header<a name="line.181"></a>
-<span class="sourceLineNo">182</span>   * sizes and oop sizes<a name="line.182"></a>
-<span class="sourceLineNo">183</span>   * See HBASE-15950.<a name="line.183"></a>
-<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  private static class UnsafeLayout extends MemoryLayout {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    @SuppressWarnings("unused")<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    private static final class HeaderSize {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      private byte a;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public UnsafeLayout() {<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    }<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    @Override<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    int headerSize() {<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      try {<a name="line.196"></a>
-<span class="sourceLineNo">197</span>        return (int) UnsafeAccess.theUnsafe.objectFieldOffset(<a name="line.197"></a>
-<span class="sourceLineNo">198</span>          HeaderSize.class.getDeclaredField("a"));<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      } catch (NoSuchFieldException | SecurityException e) {<a name="line.199"></a>
-<span class="sourceLineNo">200</span>        LOG.error(e);<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      }<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      return super.headerSize();<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>    @Override<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    int arrayHeaderSize() {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return UnsafeAccess.theUnsafe.arrayBaseOffset(byte[].class);<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>    @Override<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    @SuppressWarnings("static-access")<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    int oopSize() {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      // Unsafe.addressSize() returns 8, even with CompressedOops. This is how many bytes each<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      // element is allocated in an Object[].<a name="line.214"></a>
-<span class="sourceLineNo">215</span>      return UnsafeAccess.theUnsafe.ARRAY_OBJECT_INDEX_SCALE;<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>    @Override<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    @SuppressWarnings("static-access")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    long sizeOf(byte[] b, int len) {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>      return align(arrayHeaderSize() + len * UnsafeAccess.theUnsafe.ARRAY_BYTE_INDEX_SCALE);<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    }<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  private static MemoryLayout getMemoryLayout() {<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    // Have a safeguard in case Unsafe estimate is wrong. This is static context, there is<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    // no configuration, so we look at System property.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    String enabled = System.getProperty("hbase.memorylayout.use.unsafe");<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    if (UnsafeAvailChecker.isAvailable() &amp;&amp; (enabled == null || Boolean.parseBoolean(enabled))) {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      LOG.debug("Using Unsafe to estimate memory layout");<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      return new UnsafeLayout();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    }<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    LOG.debug("Not using Unsafe to estimate memory layout");<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    return new MemoryLayout();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  private static final MemoryLayout memoryLayout = getMemoryLayout();<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  /**<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * Method for reading the arc settings and setting overheads according<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * to 32-bit or 64-bit architecture.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  static {<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    REFERENCE = memoryLayout.oopSize();<a name="line.244"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>/**<a name="line.34"></a>
+<span class="sourceLineNo">035</span> * Class for determining the "size" of a class, an attempt to calculate the<a name="line.35"></a>
+<span class="sourceLineNo">036</span> * actual bytes that an object of this class will occupy in memory<a name="line.36"></a>
+<span class="sourceLineNo">037</span> *<a name="line.37"></a>
+<span class="sourceLineNo">038</span> * The core of this class is taken from the Derby project<a name="line.38"></a>
+<span class="sourceLineNo">039</span> */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>@InterfaceAudience.Private<a name="line.40"></a>
+<span class="sourceLineNo">041</span>public class ClassSize {<a name="line.41"></a>
+<span class="sourceLineNo">042</span>  private static final Log LOG = LogFactory.getLog(ClassSize.class);<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>  /** Array overhead */<a name="line.44"></a>
+<span class="sourceLineNo">045</span>  public static final int ARRAY;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  /** Overhead for ArrayList(0) */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>  public static final int ARRAYLIST;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>  /** Overhead for LinkedList(0) */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>  public static final int LINKEDLIST;<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>  /** Overhead for a single entry in LinkedList */<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  public static final int LINKEDLIST_ENTRY;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  /** Overhead for ByteBuffer */<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public static final int BYTE_BUFFER;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  /** Overhead for an Integer */<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  public static final int INTEGER;<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  /** Overhead for entry in map */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public static final int MAP_ENTRY;<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  /** Object overhead is minimum 2 * reference size (8 bytes on 64-bit) */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public static final int OBJECT;<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>  /** Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public static final int REFERENCE;<a name="line.69"></a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span>  /** String overhead */<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  public static final int STRING;<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  /** Overhead for TreeMap */<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static final int TREEMAP;<a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76"></a>
+<span class="sourceLineNo">077</span>  /** Overhead for ConcurrentHashMap */<a name="line.77"></a>
+<span class="sourceLineNo">078</span>  public static final int CONCURRENT_HASHMAP;<a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79"></a>
+<span class="sourceLineNo">080</span>  /** Overhead for ConcurrentHashMap.Entry */<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  public static final int CONCURRENT_HASHMAP_ENTRY;<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  /** Overhead for ConcurrentHashMap.Segment */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>  public static final int CONCURRENT_HASHMAP_SEGMENT;<a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85"></a>
+<span class="sourceLineNo">086</span>  /** Overhead for ConcurrentSkipListMap */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public static final int CONCURRENT_SKIPLISTMAP;<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>  /** Overhead for ConcurrentSkipListMap Entry */<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  public static final int CONCURRENT_SKIPLISTMAP_ENTRY;<a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91"></a>
+<span class="sourceLineNo">092</span>  /** Overhead for CellArrayMap */<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public static final int CELL_ARRAY_MAP;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  /** Overhead for Cell Array Entry */<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public static final int CELL_ARRAY_MAP_ENTRY;<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  /** Overhead for ReentrantReadWriteLock */<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  public static final int REENTRANT_LOCK;<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  /** Overhead for AtomicLong */<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  public static final int ATOMIC_LONG;<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>  /** Overhead for AtomicInteger */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  public static final int ATOMIC_INTEGER;<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  /** Overhead for AtomicBoolean */<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public static final int ATOMIC_BOOLEAN;<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /** Overhead for AtomicReference */<a name="line.110"></a>
+<span class="sourceLineNo">111</span>  public static final int ATOMIC_REFERENCE;<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  /** Overhead for CopyOnWriteArraySet */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public static final int COPYONWRITE_ARRAYSET;<a name="line.114"></a>
+<span class="sourceLineNo">115</span><a name="line.115"></a>
+<span class="sourceLineNo">116</span>  /** Overhead for CopyOnWriteArrayList */<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  public static final int COPYONWRITE_ARRAYLIST;<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>  /** Overhead for timerange */<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  public static final int TIMERANGE;<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /** Overhead for TimeRangeTracker */<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  public static final int TIMERANGE_TRACKER;<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>  /** Overhead for CellSkipListSet */<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public static final int CELL_SET;<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>  public static final int STORE_SERVICES;<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span>  /* Are we running on jdk7? */<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  private static final boolean JDK7;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  static {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    final String version = System.getProperty("java.version");<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    // Verify String looks like this: 1.6.0_29<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    if (version == null || !version.matches("\\d\\.\\d\\..*")) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      throw new RuntimeException("Unexpected version format: " + version);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    // Convert char to int<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    int major = (int)(version.charAt(0) - '0');<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    int minor = (int)(version.charAt(2) - '0');<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    JDK7 = major == 1 &amp;&amp; minor == 7;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  /**<a name="line.144"></a>
+<span class="sourceLineNo">145</span>   * MemoryLayout abstracts details about the JVM object layout. Default implementation is used in<a name="line.145"></a>
+<span class="sourceLineNo">146</span>   * case Unsafe is not available.<a name="line.146"></a>
+<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
+<span class="sourceLineNo">148</span>  private static class MemoryLayout {<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    int headerSize() {<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      return 2 * oopSize();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    }<a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152"></a>
+<span class="sourceLineNo">153</span>    int arrayHeaderSize() {<a name="line.153"></a>
+<span class="sourceLineNo">154</span>      return (int) align(3 * oopSize());<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    }<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    /**<a name="line.157"></a>
+<span class="sourceLineNo">158</span>     * Return the size of an "ordinary object pointer". Either 4 or 8, depending on 32/64 bit,<a name="line.158"></a>
+<span class="sourceLineNo">159</span>     * and CompressedOops<a name="line.159"></a>
+<span class="sourceLineNo">160</span>     */<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    int oopSize() {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>      return is32BitJVM() ? 4 : 8;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
+<span class="sourceLineNo">164</span><a name="line.164"></a>
+<span class="sourceLineNo">165</span>    /**<a name="line.165"></a>
+<span class="sourceLineNo">166</span>     * Aligns a number to 8.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>     * @param num number to align to 8<a name="line.167"></a>
+<span class="sourceLineNo">168</span>     * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.168"></a>
+<span class="sourceLineNo">169</span>     */<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    public long align(long num) {<a name="line.170"></a>
+<span class="sourceLineNo">171</span>      //The 7 comes from that the alignSize is 8 which is the number of bytes<a name="line.171"></a>
+<span class="sourceLineNo">172</span>      //stored and sent together<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      return  ((num + 7) &gt;&gt; 3) &lt;&lt; 3;<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>    long sizeOf(byte[] b, int len) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      return align(arrayHeaderSize() + len);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * UnsafeLayout uses Unsafe to guesstimate the object-layout related parameters like object header<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * sizes and oop sizes<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   * See HBASE-15950.<a name="line.184"></a>
+<span class="sourceLineNo">185</span>   */<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  private static class UnsafeLayout extends MemoryLayout {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    @SuppressWarnings("unused")<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    private static final class HeaderSize {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      private byte a;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>    public UnsafeLayout() {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    }<a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span>    @Override<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    int headerSize() {<a name="line.196"></a>
+<span class="sourceLineNo">197</span>      try {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>        return (int) UnsafeAccess.theUnsafe.objectFieldOffset(<a name="line.198"></a>
+<span class="sourceLineNo">199</span>          HeaderSize.class.getDeclaredField("a"));<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      } catch (NoSuchFieldException | SecurityException e) {<a name="line.200"></a>
+<span class="sourceLineNo">201</span>        LOG.error(e);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>      return super.headerSize();<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>    @Override<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    int arrayHeaderSize() {<a name="line.207"></a>
+<span class="sourceLineNo">208</span>      return UnsafeAccess.theUnsafe.arrayBaseOffset(byte[].class);<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>    @Override<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    @SuppressWarnings("static-access")<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    int oopSize() {<a name="line.213"></a>
+<span class="sourceLineNo">214</span>      // Unsafe.addressSize() returns 8, even with CompressedOops. This is how many bytes each<a name="line.214"></a>
+<span class="sourceLineNo">215</span>      // element is allocated in an Object[].<a name="line.215"></a>
+<span class="sourceLineNo">216</span>      return UnsafeAccess.theUnsafe.ARRAY_OBJECT_INDEX_SCALE;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    }<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    @Override<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    @SuppressWarnings("static-access")<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    long sizeOf(byte[] b, int len) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>      return align(arrayHeaderSize() + len * UnsafeAccess.theUnsafe.ARRAY_BYTE_INDEX_SCALE);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    }<a name="line.223"></a>
+<span class="sourceLineNo">224</span>  }<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>  private static MemoryLayout getMemoryLayout() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    // Have a safeguard in case Unsafe estimate is wrong. This is static context, there is<a name="line.227"></a>
+<span class="sourceLineNo">228</span>    // no configuration, so we look at System property.<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    String enabled = System.getProperty("hbase.memorylayout.use.unsafe");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    if (UnsafeAvailChecker.isAvailable() &amp;&amp; (enabled == null || Boolean.parseBoolean(enabled))) {<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      LOG.debug("Using Unsafe to estimate memory layout");<a name="line.231"></a>
+<span class="sourceLineNo">232</span>      return new UnsafeLayout();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    }<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    LOG.debug("Not using Unsafe to estimate memory layout");<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    return new MemoryLayout();<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  private static final MemoryLayout memoryLayout = getMemoryLayout();<a name="line.238"></a>
+<span class="sourceLineNo">239</span>  private static final boolean USE_UNSAFE_LAYOUT = (memoryLayout instanceof UnsafeLayout);<a name="line.239"></a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span>  @VisibleForTesting<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  public static boolean useUnsafeLayout() {<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    return USE_UNSAFE_LAYOUT;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
 <span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>    OBJECT = memoryLayout.headerSize();<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>    ARRAY = memoryLayout.arrayHeaderSize();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>    ARRAYLIST = align(OBJECT + REFERENCE + (2 * Bytes.SIZEOF_INT)) + align(ARRAY);<a name="line.250"></a>
-<span class="sourceLineNo">251</span><a name="line.251"></a>
-<span class="sourceLineNo">252</span>    LINKEDLIST = align(OBJECT + (2 * Bytes.SIZEOF_INT) + (2 * REFERENCE));<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>    LINKEDLIST_ENTRY = align(OBJECT + (2 * REFERENCE));<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>    //noinspection PointlessArithmeticExpression<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    BYTE_BUFFER = align(OBJECT + REFERENCE +<a name="line.257"></a>
-<span class="sourceLineNo">258</span>        (5 * Bytes.SIZEOF_INT) +<a name="line.258"></a>
-<span class="sourceLineNo">259</span>        (3 * Bytes.SIZEOF_BOOLEAN) + Bytes.SIZEOF_LONG) + align(ARRAY);<a name="line.259"></a>
+<span class="sourceLineNo">246</span>  /**<a name="line.246"></a>
+<span class="sourceLineNo">247</span>   * Method for reading the arc settings and setting overheads according<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * to 32-bit or 64-bit architecture.<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  static {<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    REFERENCE = memoryLayout.oopSize();<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span>    OBJECT = memoryLayout.headerSize();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>    ARRAY = memoryLayout.arrayHeaderSize();<a name="line.255"></a>
+<span class="sourceLineNo">256</span><a name="line.256"></a>
+<span class="sourceLineNo">257</span>    ARRAYLIST = align(OBJECT + REFERENCE + (2 * Bytes.SIZEOF_INT)) + align(ARRAY);<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>    LINKEDLIST = align(OBJECT + (2 * Bytes.SIZEOF_INT) + (2 * REFERENCE));<a name="line.259"></a>
 <span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>    INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.261"></a>
+<span class="sourceLineNo">261</span>    LINKEDLIST_ENTRY = align(OBJECT + (2 * REFERENCE));<a name="line.261"></a>
 <span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>    MAP_ENTRY = align(OBJECT + 5 * REFERENCE + Bytes.SIZEOF_BOOLEAN);<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>    TREEMAP = align(OBJECT + (2 * Bytes.SIZEOF_INT) + 7 * REFERENCE);<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    // STRING is different size in jdk6 and jdk7. Just use what we estimate as size rather than<a name="line.267"></a>
-<span class="sourceLineNo">268</span>    // have a conditional on whether jdk7.<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    STRING = (int) estimateBase(String.class, false);<a name="line.269"></a>
-<span class="sourceLineNo">270</span><a name="line.270"></a>
-<span class="sourceLineNo">271</span>    // CONCURRENT_HASHMAP is different size in jdk6 and jdk7; it looks like its different between<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    // 23.6-b03 and 23.0-b21. Just use what we estimate as size rather than have a conditional on<a name="line.272"></a>
-<span class="sourceLineNo">273</span>    // whether jdk7.<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    CONCURRENT_HASHMAP = (int) estimateBase(ConcurrentHashMap.class, false);<a name="line.274"></a>
-<span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>    CONCURRENT_HASHMAP_ENTRY = align(REFERENCE + OBJECT + (3 * REFERENCE) +<a name="line.276"></a>
-<span class="sourceLineNo">277</span>        (2 * Bytes.SIZEOF_INT));<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>    CONCURRENT_HASHMAP_SEGMENT = align(REFERENCE + OBJECT +<a name="line.279"></a>
-<span class="sourceLineNo">280</span>        (3 * Bytes.SIZEOF_INT) + Bytes.SIZEOF_FLOAT + ARRAY);<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>    // The size changes from jdk7 to jdk8, estimate the size rather than use a conditional<a name="line.282"></a>
-<span class="sourceLineNo">283</span>    CONCURRENT_SKIPLISTMAP = (int) estimateBase(ConcurrentSkipListMap.class, false);<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>    // CELL_ARRAY_MAP is the size of an instance of CellArrayMap class, which extends<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    // CellFlatMap class. CellArrayMap object containing a ref to an Array, so<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    // OBJECT + REFERENCE + ARRAY<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // CellFlatMap object contains two integers, one boolean and one reference to object, so<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    // 2*INT + BOOLEAN + REFERENCE<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    CELL_ARRAY_MAP = align(OBJECT + 2*Bytes.SIZEOF_INT + Bytes.SIZEOF_BOOLEAN<a name="line.290"></a>
-<span class="sourceLineNo">291</span>        + ARRAY + 2*REFERENCE);<a name="line.291"></a>
-<span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    CONCURRENT_SKIPLISTMAP_ENTRY = align(<a name="line.293"></a>
-<span class="sourceLineNo">294</span>        align(OBJECT + (3 * REFERENCE)) + /* one node per entry */<a name="line.294"></a>
-<span class="sourceLineNo">295</span>        align((OBJECT + (3 * REFERENCE))/2)); /* one index per two entries */<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span>    // REFERENCE in the CellArrayMap all the rest is counted in KeyValue.heapSize()<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    CELL_ARRAY_MAP_ENTRY = align(REFERENCE);<a name="line.298"></a>
+<span class="sourceLineNo">263</span>    //noinspection PointlessArithmeticExpression<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    BYTE_BUFFER = align(OBJECT + REFERENCE +<a name="line.264"></a>
+<span class="sourceLineNo">265</span>        (5 * Bytes.SIZEOF_INT) +<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        (3 * Bytes.SIZEOF_BOOLEAN) + Bytes.SIZEOF_LONG) + align(ARRAY);<a name="line.266"></a>
+<span class="sourceLineNo">267</span><a name="line.267"></a>
+<span class="sourceLineNo">268</span>    INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>    MAP_ENTRY = align(OBJECT + 5 * REFERENCE + Bytes.SIZEOF_BOOLEAN);<a name="line.270"></a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span>    TREEMAP = align(OBJECT + (2 * Bytes.SIZEOF_INT) + 7 * REFERENCE);<a name="line.272"></a>
+<span class="sourceLineNo">273</span><a name="line.273"></a>
+<span class="sourceLineNo">274</span>    // STRING is different size in jdk6 and jdk7. Just use what we estimate as size rather than<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    // have a conditional on whether jdk7.<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    STRING = (int) estimateBase(String.class, false);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>    // CONCURRENT_HASHMAP is different size in jdk6 and jdk7; it looks like its different between<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    // 23.6-b03 and 23.0-b21. Just use what we estimate as size rather than have a conditional on<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    // whether jdk7.<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    CONCURRENT_HASHMAP = (int) estimateBase(ConcurrentHashMap.class, false);<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>    CONCURRENT_HASHMAP_ENTRY = align(REFERENCE + OBJECT + (3 * REFERENCE) +<a name="line.283"></a>
+<span class="sourceLineNo">284</span>        (2 * Bytes.SIZEOF_INT));<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span>    CONCURRENT_HASHMAP_SEGMENT = align(REFERENCE + OBJECT +<a name="line.286"></a>
+<span class="sourceLineNo">287</span>        (3 * Bytes.SIZEOF_INT) + Bytes.SIZEOF_FLOAT + ARRAY);<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span>    // The size changes from jdk7 to jdk8, estimate the size rather than use a conditional<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    CONCURRENT_SKIPLISTMAP = (int) estimateBase(ConcurrentSkipListMap.class, false);<a name="line.290"></a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // CELL_ARRAY_MAP is the size of an instance of CellArrayMap class, which extends<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    // CellFlatMap class. CellArrayMap object containing a ref to an Array, so<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    // OBJECT + REFERENCE + ARRAY<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    // CellFlatMap object contains two integers, one boolean and one reference to object, so<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    // 2*INT + BOOLEAN + REFERENCE<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    CELL_ARRAY_MAP = align(OBJECT + 2*Bytes.SIZEOF_INT + Bytes.SIZEOF_BOOLEAN<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        + ARRAY + 2*REFERENCE);<a name="line.298"></a>
 <span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>    REENTRANT_LOCK = align(OBJECT + (3 * REFERENCE));<a name="line.300"></a>
-<span class="sourceLineNo">301</span><a name="line.301"></a>
-<span class="sourceLineNo">302</span>    ATOMIC_LONG = align(OBJECT + Bytes.SIZEOF_LONG);<a name="line.302"></a>
+<span class="sourceLineNo">300</span>    CONCURRENT_SKIPLISTMAP_ENTRY = align(<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        align(OBJECT + (3 * REFERENCE)) + /* one node per entry */<a name="line.301"></a>
+<span class="sourceLineNo">302</span>        align((OBJECT + (3 * REFERENCE))/2)); /* one index per two entries */<a name="line.302"></a>
 <span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    ATOMIC_INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    ATOMIC_BOOLEAN = align(OBJECT + Bytes.SIZEOF_BOOLEAN);<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    ATOMIC_REFERENCE = align(OBJECT + REFERENCE);<a name="line.308"></a>
-<span class="sourceLineNo">309</span><a name="line.309"></a>
-<span class="sourceLineNo">310</span>    COPYONWRITE_ARRAYSET = align(OBJECT + REFERENCE);<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    COPYONWRITE_ARRAYLIST = align(OBJECT + (2 * REFERENCE) + ARRAY);<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span>    TIMERANGE = align(ClassSize.OBJECT + Bytes.SIZEOF_LONG * 2 + Bytes.SIZEOF_BOOLEAN);<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span>    TIMERANGE_TRACKER = align(ClassSize.OBJECT + 2 * REFERENCE);<a name="line.316"></a>
-<span class="sourceLineNo">317</span>    CELL_SET = align(OBJECT + REFERENCE);<a name="line.317"></a>
+<span class="sourceLineNo">304</span>    // REFERENCE in the CellArrayMap all the rest is counted in KeyValue.heapSize()<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    CELL_ARRAY_MAP_ENTRY = align(REFERENCE);<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    REENTRANT_LOCK = align(OBJECT + (3 * REFERENCE));<a name="line.307"></a>
+<span class="sourceLineNo">308</span><a name="line.308"></a>
+<span class="sourceLineNo">309</span>    ATOMIC_LONG = align(OBJECT + Bytes.SIZEOF_LONG);<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    ATOMIC_INTEGER = align(OBJECT + Bytes.SIZEOF_INT);<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span>    ATOMIC_BOOLEAN = align(OBJECT + Bytes.SIZEOF_BOOLEAN);<a name="line.313"></a>
+<span class="sourceLineNo">314</span><a name="line.314"></a>
+<span class="sourceLineNo">315</span>    ATOMIC_REFERENCE = align(OBJECT + REFERENCE);<a name="line.315"></a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span>    COPYONWRITE_ARRAYSET = align(OBJECT + REFERENCE);<a name="line.317"></a>
 <span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>    STORE_SERVICES = align(OBJECT + REFERENCE + ATOMIC_LONG);<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  }<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span>  /**<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   * The estimate of the size of a class instance depends on whether the JVM<a name="line.323"></a>
-<span class="sourceLineNo">324</span>   * uses 32 or 64 bit addresses, that is it depends on the size of an object<a name="line.324"></a>
-<span class="sourceLineNo">325</span>   * reference. It is a linear function of the size of a reference, e.g.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>   * 24 + 5*r where r is the size of a reference (usually 4 or 8 bytes).<a name="line.326"></a>
-<span class="sourceLineNo">327</span>   *<a name="line.327"></a>
-<span class="sourceLineNo">328</span>   * This method returns the coefficients of the linear function, e.g. {24, 5}<a name="line.328"></a>
-<span class="sourceLineNo">329</span>   * in the above example.<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   *<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * @param cl A class whose instance size is to be estimated<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   * @param debug debug flag<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   * @return an array of 3 integers. The first integer is the size of the<a name="line.333"></a>
-<span class="sourceLineNo">334</span>   * primitives, the second the number of arrays and the third the number of<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * references.<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  @SuppressWarnings("unchecked")<a name="line.337"></a>
-<span class="sourceLineNo">338</span>  private static int [] getSizeCoefficients(Class cl, boolean debug) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    int primitives = 0;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    int arrays = 0;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    int references = 0;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>    int index = 0;<a name="line.342"></a>
-<span class="sourceLineNo">343</span><a name="line.343"></a>
-<span class="sourceLineNo">344</span>    for ( ; null != cl; cl = cl.getSuperclass()) {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      Field[] field = cl.getDeclaredFields();<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      if (null != field) {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>        for (Field aField : field) {<a name="line.347"></a>
-<span class="sourceLineNo">348</span>          if (Modifier.isStatic(aField.getModifiers())) continue;<a name="line.348"></a>
-<span class="sourceLineNo">349</span>          Class fieldClass = aField.getType();<a name="line.349"></a>
-<span class="sourceLineNo">350</span>          if (fieldClass.isArray()) {<a name="line.350"></a>
-<span class="sourceLineNo">351</span>            arrays++;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>            references++;<a name="line.352"></a>
-<span class="sourceLineNo">353</span>          } else if (!fieldClass.isPrimitive()) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>            references++;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>          } else {// Is simple primitive<a name="line.355"></a>
-<span class="sourceLineNo">356</span>            String name = fieldClass.getName();<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span>            if (name.equals("int") || name.equals("I"))<a name="line.358"></a>
-<span class="sourceLineNo">359</span>              primitives += Bytes.SIZEOF_INT;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>            else if (name.equals("long") || name.equals("J"))<a name="line.360"></a>
-<span class="sourceLineNo">361</span>              primitives += Bytes.SIZEOF_LONG;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>            else if (name.equals("boolean") || name.equals("Z"))<a name="line.362"></a>
-<span class="sourceLineNo">363</span>              primitives += Bytes.SIZEOF_BOOLEAN;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>            else if (name.equals("short") || name.equals("S"))<a name="line.364"></a>
-<span class="sourceLineNo">365</span>              primitives += Bytes.SIZEOF_SHORT;<a name="line.365"></a>
-<span class="sourceLineNo">366</span>            else if (name.equals("byte") || name.equals("B"))<a name="line.366"></a>
-<span class="sourceLineNo">367</span>              primitives += Bytes.SIZEOF_BYTE;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>            else if (name.equals("char") || name.equals("C"))<a name="line.368"></a>
-<span class="sourceLineNo">369</span>              primitives += Bytes.SIZEOF_CHAR;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>            else if (name.equals("float") || name.equals("F"))<a name="line.370"></a>
-<span class="sourceLineNo">371</span>              primitives += Bytes.SIZEOF_FLOAT;<a name="line.371"></a>
-<span class="sourceLineNo">372</span>            else if (name.equals("double") || name.equals("D"))<a name="line.372"></a>
-<span class="sourceLineNo">373</span>              primitives += Bytes.SIZEOF_DOUBLE;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>          }<a name="line.374"></a>
-<span class="sourceLineNo">375</span>          if (debug) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>            if (LOG.isDebugEnabled()) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>              LOG.debug("" + index + " " + aField.getName() + " " + aField.getType());<a name="line.377"></a>
-<span class="sourceLineNo">378</span>            }<a name="line.378"></a>
-<span class="sourceLineNo">379</span>          }<a name="line.379"></a>
-<span class="sourceLineNo">380</span>          index++;<a name="line.380"></a>
-<span class="sourceLineNo">381</span>        }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>      }<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    }<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    return new int [] {primitives, arrays, references};<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  }<a name="line.385"></a>
-<span class="sourceLineNo">386</span><a name="line.386"></a>
-<span class="sourceLineNo">387</span>  /**<a name="line.387"></a>
-<span class="sourceLineNo">388</span>   * Estimate the static space taken up by a class instance given the<a name="line.388"></a>
-<span class="sourceLineNo">389</span>   * coefficients returned by getSizeCoefficients.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>   *<a name="line.390"></a>
-<span class="sourceLineNo">391</span>   * @param coeff the coefficients<a name="line.391"></a>
-<span class="sourceLineNo">392</span>   *<a name="line.392"></a>
-<span class="sourceLineNo">393</span>   * @param debug debug flag<a name="line.393"></a>
-<span class="sourceLineNo">394</span>   * @return the size estimate, in bytes<a name="line.394"></a>
-<span class="sourceLineNo">395</span>   */<a name="line.395"></a>
-<span class="sourceLineNo">396</span>  private static long estimateBaseFromCoefficients(int [] coeff, boolean debug) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    long prealign_size = OBJECT + coeff[0] + coeff[2] * REFERENCE;<a name="line.397"></a>
-<span class="sourceLineNo">398</span><a name="line.398"></a>
-<span class="sourceLineNo">399</span>    // Round up to a multiple of 8<a name="line.399"></a>
-<span class="sourceLineNo">400</span>    long size = align(prealign_size) + align(coeff[1] * ARRAY);<a name="line.400"></a>
-<span class="sourceLineNo">401</span>    if (debug) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (LOG.isDebugEnabled()) {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        LOG.debug("Primitives=" + coeff[0] + ", arrays=" + coeff[1] +<a name="line.403"></a>
-<span class="sourceLineNo">404</span>            ", references=" + coeff[2] + ", refSize " + REFERENCE +<a name="line.404"></a>
-<span class="sourceLineNo">405</span>            ", size=" + size + ", prealign_size=" + prealign_size);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      }<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    return size;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>  }<a name="line.409"></a>
-<span class="sourceLineNo">410</span><a name="line.410"></a>
-<span class="sourceLineNo">411</span>  /**<a name="line.411"></a>
-<span class="sourceLineNo">412</span>   * Estimate the static space taken up by the fields of a class. This includes<a name="line.412"></a>
-<span class="sourceLineNo">413</span>   * the space taken up by by references (the pointer) but not by the referenced<a name="line.413"></a>
-<span class="sourceLineNo">414</span>   * object. So the estimated size of an array field does not depend on the size<a name="line.414"></a>
-<span class="sourceLineNo">415</span>   * of the array. Similarly the size of an object (reference) field does not<a name="line.415"></a>
-<span class="sourceLineNo">416</span>   * depend on the object.<a name="line.416"></a>
-<span class="sourceLineNo">417</span>   *<a name="line.417"></a>
-<span class="sourceLineNo">418</span>   * @param cl class<a name="line.418"></a>
-<span class="sourceLineNo">419</span>   * @param debug debug flag<a name="line.419"></a>
-<span class="sourceLineNo">420</span>   * @return the size estimate in bytes.<a name="line.420"></a>
-<span class="sourceLineNo">421</span>   */<a name="line.421"></a>
-<span class="sourceLineNo">422</span>  @SuppressWarnings("unchecked")<a name="line.422"></a>
-<span class="sourceLineNo">423</span>  public static long estimateBase(Class cl, boolean debug) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    return estimateBaseFromCoefficients( getSizeCoefficients(cl, debug), debug);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  /**<a name="line.427"></a>
-<span class="sourceLineNo">428</span>   * Aligns a number to 8.<a name="line.428"></a>
-<span class="sourceLineNo">429</span>   * @param num number to align to 8<a name="line.429"></a>
-<span class="sourceLineNo">430</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.430"></a>
-<span class="sourceLineNo">431</span>   */<a name="line.431"></a>
-<span class="sourceLineNo">432</span>  public static int align(int num) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return (int)(align((long)num));<a name="line.433"></a>
-<span class="sourceLineNo">434</span>  }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span>  /**<a name="line.436"></a>
-<span class="sourceLineNo">437</span>   * Aligns a number to 8.<a name="line.437"></a>
-<span class="sourceLineNo">438</span>   * @param num number to align to 8<a name="line.438"></a>
-<span class="sourceLineNo">439</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.439"></a>
-<span class="sourceLineNo">440</span>   */<a name="line.440"></a>
-<span class="sourceLineNo">441</span>  public static long align(long num) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>    return memoryLayout.align(num);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  }<a name="line.443"></a>
-<span class="sourceLineNo">444</span><a name="line.444"></a>
-<span class="sourceLineNo">445</span>  /**<a name="line.445"></a>
-<span class="sourceLineNo">446</span>   * Determines if we are running in a 32-bit JVM. Some unit tests need to<a name="line.446"></a>
-<span class="sourceLineNo">447</span>   * know this too.<a name="line.447"></a>
-<span class="sourceLineNo">448</span>   */<a name="line.448"></a>
-<span class="sourceLineNo">449</span>  public static boolean is32BitJVM() {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>    final String model = System.getProperty("sun.arch.data.model");<a name="line.450"></a>
-<span class="sourceLineNo">451</span>    return model != null &amp;&amp; model.equals("32");<a name="line.451"></a>
-<span class="sourceLineNo">452</span>  }<a name="line.452"></a>
-<span class="sourceLineNo">453</span><a name="line.453"></a>
-<span class="sourceLineNo">454</span>  public static long sizeOf(byte[] b, int len) {<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    return memoryLayout.sizeOf(b, len);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>  }<a name="line.456"></a>
-<span class="sourceLineNo">457</span><a name="line.457"></a>
-<span class="sourceLineNo">458</span>}<a name="line.458"></a>
-<span class="sourceLineNo">459</span><a name="line.459"></a>
+<span class="sourceLineNo">319</span>    COPYONWRITE_ARRAYLIST = align(OBJECT + (2 * REFERENCE) + ARRAY);<a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320"></a>
+<span class="sourceLineNo">321</span>    TIMERANGE = align(ClassSize.OBJECT + Bytes.SIZEOF_LONG * 2 + Bytes.SIZEOF_BOOLEAN);<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>    TIMERANGE_TRACKER = align(ClassSize.OBJECT + 2 * REFERENCE);<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    CELL_SET = align(OBJECT + REFERENCE);<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    STORE_SERVICES = align(OBJECT + REFERENCE + ATOMIC_LONG);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
+<span class="sourceLineNo">330</span>   * The estimate of the size of a class instance depends on whether the JVM<a name="line.330"></a>
+<span class="sourceLineNo">331</span>   * uses 32 or 64 bit addresses, that is it depends on the size of an object<a name="line.331"></a>
+<span class="sourceLineNo">332</span>   * reference. It is a linear function of the size of a reference, e.g.<a name="line.332"></a>
+<span class="sourceLineNo">333</span>   * 24 + 5*r where r is the size of a reference (usually 4 or 8 bytes).<a name="line.333"></a>
+<span class="sourceLineNo">334</span>   *<a name="line.334"></a>
+<span class="sourceLineNo">335</span>   * This method returns the coefficients of the linear function, e.g. {24, 5}<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * in the above example.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   *<a name="line.337"></a>
+<span class="sourceLineNo">338</span>   * @param cl A class whose instance size is to be estimated<a name="line.338"></a>
+<span class="sourceLineNo">339</span>   * @param debug debug flag<a name="line.339"></a>
+<span class="sourceLineNo">340</span>   * @return an array of 3 integers. The first integer is the size of the<a name="line.340"></a>
+<span class="sourceLineNo">341</span>   * primitives, the second the number of arrays and the third the number of<a name="line.341"></a>
+<span class="sourceLineNo">342</span>   * references.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>   */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>  @SuppressWarnings("unchecked")<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  private static int [] getSizeCoefficients(Class cl, boolean debug) {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    int primitives = 0;<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    int arrays = 0;<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    int references = 0;<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    int index = 0;<a name="line.349"></a>
+<span class="sourceLineNo">350</span><a name="line.350"></a>
+<span class="sourceLineNo">351</span>    for ( ; null != cl; cl = cl.getSuperclass()) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      Field[] field = cl.getDeclaredFields();<a name="line.352"></a>
+<span class="sourceLineNo">353</span>      if (null != field) {<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        for (Field aField : field) {<a name="line.354"></a>
+<span class="sourceLineNo">355</span>          if (Modifier.isStatic(aField.getModifiers())) continue;<a name="line.355"></a>
+<span class="sourceLineNo">356</span>          Class fieldClass = aField.getType();<a name="line.356"></a>
+<span class="sourceLineNo">357</span>          if (fieldClass.isArray()) {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>            arrays++;<a name="line.358"></a>
+<span class="sourceLineNo">359</span>            references++;<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          } else if (!fieldClass.isPrimitive()) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>            references++;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>          } else {// Is simple primitive<a name="line.362"></a>
+<span class="sourceLineNo">363</span>            String name = fieldClass.getName();<a name="line.363"></a>
+<span class="sourceLineNo">364</span><a name="line.364"></a>
+<span class="sourceLineNo">365</span>            if (name.equals("int") || name.equals("I"))<a name="line.365"></a>
+<span class="sourceLineNo">366</span>              primitives += Bytes.SIZEOF_INT;<a name="line.366"></a>
+<span class="sourceLineNo">367</span>            else if (name.equals("long") || name.equals("J"))<a name="line.367"></a>
+<span class="sourceLineNo">368</span>              primitives += Bytes.SIZEOF_LONG;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>            else if (name.equals("boolean") || name.equals("Z"))<a name="line.369"></a>
+<span class="sourceLineNo">370</span>              primitives += Bytes.SIZEOF_BOOLEAN;<a name="line.370"></a>
+<span class="sourceLineNo">371</span>            else if (name.equals("short") || name.equals("S"))<a name="line.371"></a>
+<span class="sourceLineNo">372</span>              primitives += Bytes.SIZEOF_SHORT;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>            else if (name.equals("byte") || name.equals("B"))<a name="line.373"></a>
+<span class="sourceLineNo">374</span>              primitives += Bytes.SIZEOF_BYTE;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>            else if (name.equals("char") || name.equals("C"))<a name="line.375"></a>
+<span class="sourceLineNo">376</span>              primitives += Bytes.SIZEOF_CHAR;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>            else if (name.equals("float") || name.equals("F"))<a name="line.377"></a>
+<span class="sourceLineNo">378</span>              primitives += Bytes.SIZEOF_FLOAT;<a name="line.378"></a>
+<span class="sourceLineNo">379</span>            else if (name.equals("double") || name.equals("D"))<a name="line.379"></a>
+<span class="sourceLineNo">380</span>              primitives += Bytes.SIZEOF_DOUBLE;<a name="line.380"></a>
+<span class="sourceLineNo">381</span>          }<a name="line.381"></a>
+<span class="sourceLineNo">382</span>          if (debug) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>            if (LOG.isDebugEnabled()) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>              LOG.debug("" + index + " " + aField.getName() + " " + aField.getType());<a name="line.384"></a>
+<span class="sourceLineNo">385</span>            }<a name="line.385"></a>
+<span class="sourceLineNo">386</span>          }<a name="line.386"></a>
+<span class="sourceLineNo">387</span>          index++;<a name="line.387"></a>
+<span class="sourceLineNo">388</span>        }<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      }<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    return new int [] {primitives, arrays, references};<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  }<a name="line.392"></a>
+<span class="sourceLineNo">393</span><a name="line.393"></a>
+<span class="sourceLineNo">394</span>  /**<a name="line.394"></a>
+<span class="sourceLineNo">395</span>   * Estimate the static space taken up by a class instance given the<a name="line.395"></a>
+<span class="sourceLineNo">396</span>   * coefficients returned by getSizeCoefficients.<a name="line.396"></a>
+<span class="sourceLineNo">397</span>   *<a name="line.397"></a>
+<span class="sourceLineNo">398</span>   * @param coeff the coefficients<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   *<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * @param debug debug flag<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   * @return the size estimate, in bytes<a name="line.401"></a>
+<span class="sourceLineNo">402</span>   */<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  private static long estimateBaseFromCoefficients(int [] coeff, boolean debug) {<a name="line.403"></a>
+<span class="sourceLineNo">404</span>    long prealign_size = OBJECT + coeff[0] + coeff[2] * REFERENCE;<a name="line.404"></a>
+<span class="sourceLineNo">405</span><a name="line.405"></a>
+<span class="sourceLineNo">406</span>    // Round up to a multiple of 8<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    long size = align(prealign_size) + align(coeff[1] * ARRAY);<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    if (debug) {<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      if (LOG.isDebugEnabled()) {<a name="line.409"></a>
+<span class="sourceLineNo">410</span>        LOG.debug("Primitives=" + coeff[0] + ", arrays=" + coeff[1] +<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            ", references=" + coeff[2] + ", refSize " + REFERENCE +<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            ", size=" + size + ", prealign_size=" + prealign_size);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>    }<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    return size;<a name="line.415"></a>
+<span class="sourceLineNo">416</span>  }<a name="line.416"></a>
+<span class="sourceLineNo">417</span><a name="line.417"></a>
+<span class="sourceLineNo">418</span>  /**<a name="line.418"></a>
+<span class="sourceLineNo">419</span>   * Estimate the static space taken up by the fields of a class. This includes<a name="line.419"></a>
+<span class="sourceLineNo">420</span>   * the space taken up by by references (the pointer) but not by the referenced<a name="line.420"></a>
+<span class="sourceLineNo">421</span>   * object. So the estimated size of an array field does not depend on the size<a name="line.421"></a>
+<span class="sourceLineNo">422</span>   * of the array. Similarly the size of an object (reference) field does not<a name="line.422"></a>
+<span class="sourceLineNo">423</span>   * depend on the object.<a name="line.423"></a>
+<span class="sourceLineNo">424</span>   *<a name="line.424"></a>
+<span class="sourceLineNo">425</span>   * @param cl class<a name="line.425"></a>
+<span class="sourceLineNo">426</span>   * @param debug debug flag<a name="line.426"></a>
+<span class="sourceLineNo">427</span>   * @return the size estimate in bytes.<a name="line.427"></a>
+<span class="sourceLineNo">428</span>   */<a name="line.428"></a>
+<span class="sourceLineNo">429</span>  @SuppressWarnings("unchecked")<a name="line.429"></a>
+<span class="sourceLineNo">430</span>  public static long estimateBase(Class cl, boolean debug) {<a name="line.430"></a>
+<span class="sourceLineNo">431</span>    return estimateBaseFromCoefficients( getSizeCoefficients(cl, debug), debug);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>  }<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span>  /**<a name="line.434"></a>
+<span class="sourceLineNo">435</span>   * Aligns a number to 8.<a name="line.435"></a>
+<span class="sourceLineNo">436</span>   * @param num number to align to 8<a name="line.436"></a>
+<span class="sourceLineNo">437</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.437"></a>
+<span class="sourceLineNo">438</span>   */<a name="line.438"></a>
+<span class="sourceLineNo">439</span>  public static int align(int num) {<a name="line.439"></a>
+<span class="sourceLineNo">440</span>    return (int)(align((long)num));<a name="line.440"></a>
+<span class="sourceLineNo">441</span>  }<a name="line.441"></a>
+<span class="sourceLineNo">442</span><a name="line.442"></a>
+<span class="sourceLineNo">443</span>  /**<a name="line.443"></a>
+<span class="sourceLineNo">444</span>   * Aligns a number to 8.<a name="line.444"></a>
+<span class="sourceLineNo">445</span>   * @param num number to align to 8<a name="line.445"></a>
+<span class="sourceLineNo">446</span>   * @return smallest number &amp;gt;= input that is a multiple of 8<a name="line.446"></a>
+<span class="sourceLineNo">447</span>   */<a name="line.447"></a>
+<span class="sourceLineNo">448</span>  public static long align(long num) {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>    return memoryLayout.align(num);<a name="line.449"></a>
+<span class="sourceLineNo">450</span>  }<a name="line.450"></a>
+<span class="sourceLineNo">451</span><a name="line.451"></a>
+<span class="sourceLineNo">452</span>  /**<a name="line.452"></a>
+<span class="sourceLineNo">453</span>   * Determines if we are running in a 32-bit JVM. Some unit tests need to<a name="line.453"></a>
+<span class="sourceLineNo">454</span>   * know this too.<a name="line.454"></a>
+<span class="sourceLineNo">455</span>   */<a name="line.455"></a>
+<span class="sourceLineNo">456</span>  public static boolean is32BitJVM() {<a name="line.456"></a>
+<span class="sourceLineNo">457</span>    final String model = System.getProperty("sun.arch.data.model");<a name="line.457"></a>
+<span class="sourceLineNo">458</span>    return model != null &amp;&amp; model.equals("32");<a name="line.458"></a>
+<span class="sourceLineNo">459</span>  }<a name="line.459"></a>
+<span class="sourceLineNo">460</span><a name="line.460"></a>
+<span class="sourceLineNo">461</span>  public static long sizeOf(byte[] b, int len) {<a name="line.461"></a>
+<span class="sourceLineNo">462</span>    return memoryLayout.sizeOf(b, len);<a name="line.462"></a>
+<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
+<span class="sourceLineNo">464</span><a name="line.464"></a>
+<span class="sourceLineNo">465</span>}<a name="line.465"></a>
+<span class="sourceLineNo">466</span><a name="line.466"></a>
 
 
 


[05/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index 6817483..20455ea 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -33,9 +33,9 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.28"></a>
 <span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.30"></a>
 <span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
@@ -77,23 +77,23 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 22, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFormat(String format)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 23, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setBcn(String bcn)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 22, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_format__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 23, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_bcn = bcn;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_bcn__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFormat()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getBcn()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_format;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_bcn;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_format;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFormat__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_bcn;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getBcn__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_format__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_bcn__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_format__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">088</span>    private boolean m_bcn__IsNotDefault;<a name="line.88"></a>
 <span class="sourceLineNo">089</span>    // 21, 1<a name="line.89"></a>
 <span class="sourceLineNo">090</span>    public void setFilter(String filter)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
@@ -111,23 +111,23 @@
 <span class="sourceLineNo">103</span>      return m_filter__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
 <span class="sourceLineNo">105</span>    private boolean m_filter__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 23, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcn(String bcn)<a name="line.107"></a>
+<span class="sourceLineNo">106</span>    // 22, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFormat(String format)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 23, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcn = bcn;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcn__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 22, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_format = format;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_format__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcn()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFormat()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcn;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_format;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcn;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcn__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_format;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFormat__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcn__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_format__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcn__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>    private boolean m_format__IsNotDefault;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    // 24, 1<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    public void setBcv(String bcv)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
@@ -156,10 +156,10 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String format;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String bcn;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFormat(p_format);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setBcn(p_bcn);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
@@ -170,10 +170,10 @@
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcn;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String format;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcn(p_bcn);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFormat(p_format);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
index 6817483..20455ea 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
@@ -33,9 +33,9 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.28"></a>
 <span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.30"></a>
 <span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
@@ -77,23 +77,23 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 22, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFormat(String format)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 23, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setBcn(String bcn)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 22, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_format__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 23, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_bcn = bcn;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_bcn__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFormat()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getBcn()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_format;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_bcn;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_format;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFormat__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_bcn;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getBcn__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_format__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_bcn__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_format__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">088</span>    private boolean m_bcn__IsNotDefault;<a name="line.88"></a>
 <span class="sourceLineNo">089</span>    // 21, 1<a name="line.89"></a>
 <span class="sourceLineNo">090</span>    public void setFilter(String filter)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
@@ -111,23 +111,23 @@
 <span class="sourceLineNo">103</span>      return m_filter__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
 <span class="sourceLineNo">105</span>    private boolean m_filter__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 23, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcn(String bcn)<a name="line.107"></a>
+<span class="sourceLineNo">106</span>    // 22, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFormat(String format)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 23, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcn = bcn;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcn__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 22, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_format = format;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_format__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcn()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFormat()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcn;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_format;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcn;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcn__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_format;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFormat__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcn__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_format__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcn__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>    private boolean m_format__IsNotDefault;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    // 24, 1<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    public void setBcv(String bcv)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
@@ -156,10 +156,10 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String format;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String bcn;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFormat(p_format);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setBcn(p_bcn);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
@@ -170,10 +170,10 @@
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcn;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String format;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcn(p_bcn);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFormat(p_format);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 6817483..20455ea 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -33,9 +33,9 @@
 <span class="sourceLineNo">025</span>  requiredArguments = {<a name="line.25"></a>
 <span class="sourceLineNo">026</span>    @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
 <span class="sourceLineNo">027</span>  optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.28"></a>
 <span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.30"></a>
 <span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
@@ -77,23 +77,23 @@
 <span class="sourceLineNo">069</span>      return m_regionServer;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>    }<a name="line.70"></a>
 <span class="sourceLineNo">071</span>    private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    // 22, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFormat(String format)<a name="line.73"></a>
+<span class="sourceLineNo">072</span>    // 23, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setBcn(String bcn)<a name="line.73"></a>
 <span class="sourceLineNo">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 22, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_format__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span>      // 23, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_bcn = bcn;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_bcn__IsNotDefault = true;<a name="line.77"></a>
 <span class="sourceLineNo">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFormat()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getBcn()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_format;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_bcn;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_format;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFormat__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span>    private String m_bcn;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getBcn__IsNotDefault()<a name="line.84"></a>
 <span class="sourceLineNo">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_format__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_bcn__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_format__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">088</span>    private boolean m_bcn__IsNotDefault;<a name="line.88"></a>
 <span class="sourceLineNo">089</span>    // 21, 1<a name="line.89"></a>
 <span class="sourceLineNo">090</span>    public void setFilter(String filter)<a name="line.90"></a>
 <span class="sourceLineNo">091</span>    {<a name="line.91"></a>
@@ -111,23 +111,23 @@
 <span class="sourceLineNo">103</span>      return m_filter__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
 <span class="sourceLineNo">105</span>    private boolean m_filter__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 23, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setBcn(String bcn)<a name="line.107"></a>
+<span class="sourceLineNo">106</span>    // 22, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFormat(String format)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 23, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_bcn = bcn;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_bcn__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 22, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_format = format;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_format__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getBcn()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFormat()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_bcn;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_format;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_bcn;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getBcn__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_format;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFormat__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_bcn__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_format__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_bcn__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>    private boolean m_format__IsNotDefault;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    // 24, 1<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    public void setBcv(String bcv)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
@@ -156,10 +156,10 @@
 <span class="sourceLineNo">148</span>    return (ImplData) super.getImplData();<a name="line.148"></a>
 <span class="sourceLineNo">149</span>  }<a name="line.149"></a>
 <span class="sourceLineNo">150</span>  <a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected String format;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.152"></a>
+<span class="sourceLineNo">151</span>  protected String bcn;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.152"></a>
 <span class="sourceLineNo">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFormat(p_format);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setBcn(p_bcn);<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    return this;<a name="line.155"></a>
 <span class="sourceLineNo">156</span>  }<a name="line.156"></a>
 <span class="sourceLineNo">157</span>  <a name="line.157"></a>
@@ -170,10 +170,10 @@
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String bcn;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String format;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setBcn(p_bcn);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFormat(p_format);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>

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


[10/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

Posted by gi...@apache.org.
Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.


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

Branch: refs/heads/asf-site
Commit: 3fb12ee1e6f2e09f60a1380a6a64159f0fa9af08
Parents: 69231ea
Author: jenkins <bu...@apache.org>
Authored: Wed Apr 12 03:56:43 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Wed Apr 12 03:56:43 2017 +0000

----------------------------------------------------------------------
 apache_hbase_reference_guide.pdf                |   4 +-
 apache_hbase_reference_guide.pdfmarks           |   4 +-
 checkstyle-aggregate.html                       |  26 +-
 devapidocs/constant-values.html                 |   6 +-
 devapidocs/index-all.html                       |   4 +
 .../hadoop/hbase/backup/package-tree.html       |   2 +-
 .../hbase/classification/package-tree.html      |   4 +-
 .../hadoop/hbase/client/package-tree.html       |  26 +-
 .../hadoop/hbase/filter/package-tree.html       |  10 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |   4 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |   4 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |   4 +-
 .../hbase/master/procedure/package-tree.html    |   2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |  12 +-
 .../hadoop/hbase/quotas/package-tree.html       |   6 +-
 .../hadoop/hbase/regionserver/Segment.html      |  96 +-
 .../hadoop/hbase/regionserver/package-tree.html |  14 +-
 .../regionserver/querymatcher/package-tree.html |   2 +-
 .../hbase/regionserver/wal/package-tree.html    |   2 +-
 .../hadoop/hbase/rest/model/package-tree.html   |   2 +-
 .../hadoop/hbase/security/package-tree.html     |   2 +-
 .../hadoop/hbase/thrift/package-tree.html       |   2 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  | 240 ++---
 .../hbase/tmpl/master/MasterStatusTmpl.html     |  96 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |  48 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |  60 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |  24 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |  12 +-
 .../hbase/util/ClassSize.MemoryLayout.html      |  14 +-
 .../util/ClassSize.UnsafeLayout.HeaderSize.html |   6 +-
 .../hbase/util/ClassSize.UnsafeLayout.html      |  12 +-
 .../org/apache/hadoop/hbase/util/ClassSize.html | 114 ++-
 .../apache/hadoop/hbase/util/package-tree.html  |  10 +-
 .../org/apache/hadoop/hbase/Version.html        |   6 +-
 .../hadoop/hbase/regionserver/Segment.html      | 607 ++++++-------
 .../tmpl/master/MasterStatusTmpl.ImplData.html  | 240 ++---
 .../tmpl/master/MasterStatusTmpl.Intf.html      | 240 ++---
 .../hbase/tmpl/master/MasterStatusTmpl.html     | 240 ++---
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |  68 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |  60 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |  60 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |  60 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |  20 +-
 .../hbase/util/ClassSize.MemoryLayout.html      | 867 ++++++++++---------
 .../util/ClassSize.UnsafeLayout.HeaderSize.html | 867 ++++++++++---------
 .../hbase/util/ClassSize.UnsafeLayout.html      | 867 ++++++++++---------
 .../org/apache/hadoop/hbase/util/ClassSize.html | 867 ++++++++++---------
 .../apache/hadoop/hbase/io/TestHeapSize.html    |  21 +-
 48 files changed, 3013 insertions(+), 2951 deletions(-)
----------------------------------------------------------------------


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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 1eb0ee0..ce604f9 100644
--- a/apache_hbase_reference_guide.pdfmarks
+++ b/apache_hbase_reference_guide.pdfmarks
@@ -2,8 +2,8 @@
   /Author (Apache HBase Team)
   /Subject ()
   /Keywords ()
-  /ModDate (D:20170412012043)
-  /CreationDate (D:20170412012043)
+  /ModDate (D:20170412034659)
+  /CreationDate (D:20170412034659)
   /Creator (Asciidoctor PDF 1.5.0.alpha.6, based on Prawn 1.2.1)
   /Producer ()
   /DOCINFO pdfmark

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 9e19b36..798c490 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -96389,79 +96389,79 @@
 <td>design</td>
 <td>HideUtilityClassConstructor</td>
 <td>Utility classes should not have a public or default constructor.</td>
-<td>39</td></tr>
+<td>40</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>334</td></tr>
+<td>341</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
 <td>Line continuation have incorrect indentation level, expected level should be 2.</td>
-<td>335</td></tr>
+<td>342</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>348</td></tr>
+<td>355</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>358</td></tr>
+<td>365</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>360</td></tr>
+<td>367</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>362</td></tr>
+<td>369</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>364</td></tr>
+<td>371</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>366</td></tr>
+<td>373</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>368</td></tr>
+<td>375</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>370</td></tr>
+<td>377</td></tr>
 <tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
-<td>372</td></tr>
+<td>379</td></tr>
 <tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>whitespace</td>
 <td>ParenPad</td>
 <td>'(' is followed by whitespace.</td>
-<td>424</td></tr></table></div>
+<td>431</td></tr></table></div>
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.util.Classes.java">org/apache/hadoop/hbase/util/Classes.java</h3>
 <table border="0" class="table table-striped">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index eadf401..312a57c 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3775,21 +3775,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Wed Apr 12 01:10:58 UTC 2017"</code></td>
+<td class="colLast"><code>"Wed Apr 12 03:37:14 UTC 2017"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"d7ddc79198679d8c642e7d8ad5141ba518f8d9f3"</code></td>
+<td class="colLast"><code>"3aadc675b0f02c3c13be625b40d72fbf6a844964"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"bc97f2543d573a2ee58f8273c9132a89"</code></td>
+<td class="colLast"><code>"0c5c8fa1337ca2c05e1ebdd7e5cdbd2c"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index b68c288..a9de524 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -106839,6 +106839,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/codec/prefixtree/PrefixTreeSeeker.html#USE_POSITION_BEFORE">USE_POSITION_BEFORE</a></span> - Static variable in class org.apache.hadoop.hbase.codec.prefixtree.<a href="org/apache/hadoop/hbase/codec/prefixtree/PrefixTreeSeeker.html" title="class in org.apache.hadoop.hbase.codec.prefixtree">PrefixTreeSeeker</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/ClassSize.html#USE_UNSAFE_LAYOUT">USE_UNSAFE_LAYOUT</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ClassSize.html" title="class in org.apache.hadoop.hbase.util">ClassSize</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/ByteStringer.html#USE_ZEROCOPYBYTESTRING">USE_ZEROCOPYBYTESTRING</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ByteStringer.html" title="class in org.apache.hadoop.hbase.util">ByteStringer</a></dt>
 <dd>
 <div class="block">Flag set at class loading time.</div>
@@ -107142,6 +107144,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.JaasConfiguration.html#useTicketCache">useTicketCache</a></span> - Variable in class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/ZKUtil.JaasConfiguration.html" title="class in org.apache.hadoop.hbase.zookeeper">ZKUtil.JaasConfiguration</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/ClassSize.html#useUnsafeLayout--">useUnsafeLayout()</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ClassSize.html" title="class in org.apache.hadoop.hbase.util">ClassSize</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.SaslNegotiateHandler.html#useWrap--">useWrap()</a></span> - Method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.SaslNegotiateHandler.html" title="class in org.apache.hadoop.hbase.io.asyncfs">FanOutOneBlockAsyncDFSOutputSaslHelper.SaslNegotiateHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#useWrap">useWrap</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a></dt>

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

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

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

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
index 408ef2f..77c2f68 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -273,12 +273,12 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockPriority</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index 8ebf004..ed8816b 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -282,9 +282,9 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/package-tree.html b/devapidocs/org/apache/hadoop/hbase/package-tree.html
index e3efc0d..5f0f62c 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -422,16 +422,16 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HealthChecker.HealthCheckerExitStatus</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeepDeletedCells.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeepDeletedCells</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.Modify</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MemoryCompactionPolicy.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MemoryCompactionPolicy</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/Coprocessor.State.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">Coprocessor.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ProcedureState.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ProcedureState</span></a></li>
 </ul>
 </li>
 </ul>

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


[07/10] hbase-site git commit: Published site at 3aadc675b0f02c3c13be625b40d72fbf6a844964.

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/util/ClassSize.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/ClassSize.html b/devapidocs/org/apache/hadoop/hbase/util/ClassSize.html
index 8d0442a..2675a8f 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/ClassSize.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/ClassSize.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.40">ClassSize</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.41">ClassSize</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Class for determining the "size" of a class, an attempt to calculate the
  actual bytes that an object of this class will occupy in memory
@@ -347,6 +347,10 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <div class="block">Overhead for TreeMap</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#USE_UNSAFE_LAYOUT">USE_UNSAFE_LAYOUT</a></span></code>&nbsp;</td>
+</tr>
 </table>
 </li>
 </ul>
@@ -430,6 +434,10 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#sizeOf-byte:A-int-">sizeOf</a></span>(byte[]&nbsp;b,
       int&nbsp;len)</code>&nbsp;</td>
 </tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.html#useUnsafeLayout--">useUnsafeLayout</a></span>()</code>&nbsp;</td>
+</tr>
 </table>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@@ -458,7 +466,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.41">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.42">LOG</a></pre>
 </li>
 </ul>
 <a name="ARRAY">
@@ -467,7 +475,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>ARRAY</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.44">ARRAY</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.45">ARRAY</a></pre>
 <div class="block">Array overhead</div>
 </li>
 </ul>
@@ -477,7 +485,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>ARRAYLIST</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.47">ARRAYLIST</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.48">ARRAYLIST</a></pre>
 <div class="block">Overhead for ArrayList(0)</div>
 </li>
 </ul>
@@ -487,7 +495,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LINKEDLIST</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.50">LINKEDLIST</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.51">LINKEDLIST</a></pre>
 <div class="block">Overhead for LinkedList(0)</div>
 </li>
 </ul>
@@ -497,7 +505,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LINKEDLIST_ENTRY</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.53">LINKEDLIST_ENTRY</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.54">LINKEDLIST_ENTRY</a></pre>
 <div class="block">Overhead for a single entry in LinkedList</div>
 </li>
 </ul>
@@ -507,7 +515,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>BYTE_BUFFER</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.56">BYTE_BUFFER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.57">BYTE_BUFFER</a></pre>
 <div class="block">Overhead for ByteBuffer</div>
 </li>
 </ul>
@@ -517,7 +525,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>INTEGER</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.59">INTEGER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.60">INTEGER</a></pre>
 <div class="block">Overhead for an Integer</div>
 </li>
 </ul>
@@ -527,7 +535,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>MAP_ENTRY</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.62">MAP_ENTRY</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.63">MAP_ENTRY</a></pre>
 <div class="block">Overhead for entry in map</div>
 </li>
 </ul>
@@ -537,7 +545,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>OBJECT</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.65">OBJECT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.66">OBJECT</a></pre>
 <div class="block">Object overhead is minimum 2 * reference size (8 bytes on 64-bit)</div>
 </li>
 </ul>
@@ -547,7 +555,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>REFERENCE</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.68">REFERENCE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.69">REFERENCE</a></pre>
 <div class="block">Reference size is 8 bytes on 64-bit, 4 bytes on 32-bit</div>
 </li>
 </ul>
@@ -557,7 +565,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>STRING</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.71">STRING</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.72">STRING</a></pre>
 <div class="block">String overhead</div>
 </li>
 </ul>
@@ -567,7 +575,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TREEMAP</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.74">TREEMAP</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.75">TREEMAP</a></pre>
 <div class="block">Overhead for TreeMap</div>
 </li>
 </ul>
@@ -577,7 +585,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CONCURRENT_HASHMAP</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.77">CONCURRENT_HASHMAP</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.78">CONCURRENT_HASHMAP</a></pre>
 <div class="block">Overhead for ConcurrentHashMap</div>
 </li>
 </ul>
@@ -587,7 +595,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CONCURRENT_HASHMAP_ENTRY</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.80">CONCURRENT_HASHMAP_ENTRY</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.81">CONCURRENT_HASHMAP_ENTRY</a></pre>
 <div class="block">Overhead for ConcurrentHashMap.Entry</div>
 </li>
 </ul>
@@ -597,7 +605,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CONCURRENT_HASHMAP_SEGMENT</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.83">CONCURRENT_HASHMAP_SEGMENT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.84">CONCURRENT_HASHMAP_SEGMENT</a></pre>
 <div class="block">Overhead for ConcurrentHashMap.Segment</div>
 </li>
 </ul>
@@ -607,7 +615,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CONCURRENT_SKIPLISTMAP</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.86">CONCURRENT_SKIPLISTMAP</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.87">CONCURRENT_SKIPLISTMAP</a></pre>
 <div class="block">Overhead for ConcurrentSkipListMap</div>
 </li>
 </ul>
@@ -617,7 +625,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CONCURRENT_SKIPLISTMAP_ENTRY</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.89">CONCURRENT_SKIPLISTMAP_ENTRY</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.90">CONCURRENT_SKIPLISTMAP_ENTRY</a></pre>
 <div class="block">Overhead for ConcurrentSkipListMap Entry</div>
 </li>
 </ul>
@@ -627,7 +635,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CELL_ARRAY_MAP</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.92">CELL_ARRAY_MAP</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.93">CELL_ARRAY_MAP</a></pre>
 <div class="block">Overhead for CellArrayMap</div>
 </li>
 </ul>
@@ -637,7 +645,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CELL_ARRAY_MAP_ENTRY</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.95">CELL_ARRAY_MAP_ENTRY</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.96">CELL_ARRAY_MAP_ENTRY</a></pre>
 <div class="block">Overhead for Cell Array Entry</div>
 </li>
 </ul>
@@ -647,7 +655,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>REENTRANT_LOCK</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.98">REENTRANT_LOCK</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.99">REENTRANT_LOCK</a></pre>
 <div class="block">Overhead for ReentrantReadWriteLock</div>
 </li>
 </ul>
@@ -657,7 +665,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>ATOMIC_LONG</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.101">ATOMIC_LONG</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.102">ATOMIC_LONG</a></pre>
 <div class="block">Overhead for AtomicLong</div>
 </li>
 </ul>
@@ -667,7 +675,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>ATOMIC_INTEGER</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.104">ATOMIC_INTEGER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.105">ATOMIC_INTEGER</a></pre>
 <div class="block">Overhead for AtomicInteger</div>
 </li>
 </ul>
@@ -677,7 +685,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>ATOMIC_BOOLEAN</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.107">ATOMIC_BOOLEAN</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.108">ATOMIC_BOOLEAN</a></pre>
 <div class="block">Overhead for AtomicBoolean</div>
 </li>
 </ul>
@@ -687,7 +695,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>ATOMIC_REFERENCE</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.110">ATOMIC_REFERENCE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.111">ATOMIC_REFERENCE</a></pre>
 <div class="block">Overhead for AtomicReference</div>
 </li>
 </ul>
@@ -697,7 +705,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>COPYONWRITE_ARRAYSET</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.113">COPYONWRITE_ARRAYSET</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.114">COPYONWRITE_ARRAYSET</a></pre>
 <div class="block">Overhead for CopyOnWriteArraySet</div>
 </li>
 </ul>
@@ -707,7 +715,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>COPYONWRITE_ARRAYLIST</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.116">COPYONWRITE_ARRAYLIST</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.117">COPYONWRITE_ARRAYLIST</a></pre>
 <div class="block">Overhead for CopyOnWriteArrayList</div>
 </li>
 </ul>
@@ -717,7 +725,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TIMERANGE</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.119">TIMERANGE</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.120">TIMERANGE</a></pre>
 <div class="block">Overhead for timerange</div>
 </li>
 </ul>
@@ -727,7 +735,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TIMERANGE_TRACKER</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.122">TIMERANGE_TRACKER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.123">TIMERANGE_TRACKER</a></pre>
 <div class="block">Overhead for TimeRangeTracker</div>
 </li>
 </ul>
@@ -737,7 +745,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CELL_SET</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.125">CELL_SET</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.126">CELL_SET</a></pre>
 <div class="block">Overhead for CellSkipListSet</div>
 </li>
 </ul>
@@ -747,7 +755,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>STORE_SERVICES</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.127">STORE_SERVICES</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.128">STORE_SERVICES</a></pre>
 </li>
 </ul>
 <a name="JDK7">
@@ -756,16 +764,25 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>JDK7</h4>
-<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.130">JDK7</a></pre>
+<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.131">JDK7</a></pre>
 </li>
 </ul>
 <a name="memoryLayout">
 <!--   -->
 </a>
-<ul class="blockListLast">
+<ul class="blockList">
 <li class="blockList">
 <h4>memoryLayout</h4>
-<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.237">memoryLayout</a></pre>
+<pre>private static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.238">memoryLayout</a></pre>
+</li>
+</ul>
+<a name="USE_UNSAFE_LAYOUT">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>USE_UNSAFE_LAYOUT</h4>
+<pre>private static final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.239">USE_UNSAFE_LAYOUT</a></pre>
 </li>
 </ul>
 </li>
@@ -782,7 +799,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ClassSize</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.40">ClassSize</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.41">ClassSize</a>()</pre>
 </li>
 </ul>
 </li>
@@ -799,7 +816,16 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getMemoryLayout</h4>
-<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.225">getMemoryLayout</a>()</pre>
+<pre>private static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/ClassSize.MemoryLayout.html" title="class in org.apache.hadoop.hbase.util">ClassSize.MemoryLayout</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.226">getMemoryLayout</a>()</pre>
+</li>
+</ul>
+<a name="useUnsafeLayout--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>useUnsafeLayout</h4>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.242">useUnsafeLayout</a>()</pre>
 </li>
 </ul>
 <a name="getSizeCoefficients-java.lang.Class-boolean-">
@@ -808,7 +834,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getSizeCoefficients</h4>
-<pre>private static&nbsp;int[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.338">getSizeCoefficients</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cl,
+<pre>private static&nbsp;int[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.345">getSizeCoefficients</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cl,
                                          boolean&nbsp;debug)</pre>
 <div class="block">The estimate of the size of a class instance depends on whether the JVM
  uses 32 or 64 bit addresses, that is it depends on the size of an object
@@ -834,7 +860,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>estimateBaseFromCoefficients</h4>
-<pre>private static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.396">estimateBaseFromCoefficients</a>(int[]&nbsp;coeff,
+<pre>private static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.403">estimateBaseFromCoefficients</a>(int[]&nbsp;coeff,
                                                  boolean&nbsp;debug)</pre>
 <div class="block">Estimate the static space taken up by a class instance given the
  coefficients returned by getSizeCoefficients.</div>
@@ -853,7 +879,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>estimateBase</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.423">estimateBase</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cl,
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.430">estimateBase</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;cl,
                                 boolean&nbsp;debug)</pre>
 <div class="block">Estimate the static space taken up by the fields of a class. This includes
  the space taken up by by references (the pointer) but not by the referenced
@@ -875,7 +901,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>align</h4>
-<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.432">align</a>(int&nbsp;num)</pre>
+<pre>public static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.439">align</a>(int&nbsp;num)</pre>
 <div class="block">Aligns a number to 8.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -891,7 +917,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>align</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.441">align</a>(long&nbsp;num)</pre>
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.448">align</a>(long&nbsp;num)</pre>
 <div class="block">Aligns a number to 8.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -907,7 +933,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>is32BitJVM</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.449">is32BitJVM</a>()</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.456">is32BitJVM</a>()</pre>
 <div class="block">Determines if we are running in a 32-bit JVM. Some unit tests need to
  know this too.</div>
 </li>
@@ -918,7 +944,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>sizeOf</h4>
-<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.454">sizeOf</a>(byte[]&nbsp;b,
+<pre>public static&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/util/ClassSize.html#line.461">sizeOf</a>(byte[]&nbsp;b,
                           int&nbsp;len)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
index a3dccc9..23d4070 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -519,14 +519,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PoolMap.PoolType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PoolMap.PoolType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">ChecksumType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">HBaseFsck.ErrorReporter.ERROR_CODE</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Order</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
index 04549a8..b1d1435 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/Version.html
@@ -16,11 +16,11 @@
 <span class="sourceLineNo">008</span>@InterfaceAudience.Private<a name="line.8"></a>
 <span class="sourceLineNo">009</span>public class Version {<a name="line.9"></a>
 <span class="sourceLineNo">010</span>  public static final String version = "2.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span>  public static final String revision = "d7ddc79198679d8c642e7d8ad5141ba518f8d9f3";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "3aadc675b0f02c3c13be625b40d72fbf6a844964";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Wed Apr 12 01:10:58 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Wed Apr 12 03:37:14 UTC 2017";<a name="line.13"></a>
 <span class="sourceLineNo">014</span>  public static final String url = "git://asf920.gq1.ygridcore.net/home/jenkins/jenkins-slave/workspace/hbase_generate_website/hbase";<a name="line.14"></a>
-<span class="sourceLineNo">015</span>  public static final String srcChecksum = "bc97f2543d573a2ee58f8273c9132a89";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "0c5c8fa1337ca2c05e1ebdd7e5cdbd2c";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/3fb12ee1/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Segment.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Segment.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Segment.html
index cdc02b3..7527f43 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Segment.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/Segment.html
@@ -56,309 +56,310 @@
 <span class="sourceLineNo">048</span>@InterfaceAudience.Private<a name="line.48"></a>
 <span class="sourceLineNo">049</span>public abstract class Segment {<a name="line.49"></a>
 <span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  final static long FIXED_OVERHEAD = ClassSize.align(ClassSize.OBJECT<a name="line.51"></a>
-<span class="sourceLineNo">052</span>      + 5 * ClassSize.REFERENCE // cellSet, comparator, memStoreLAB, size, timeRangeTracker<a name="line.52"></a>
-<span class="sourceLineNo">053</span>      + Bytes.SIZEOF_LONG // minSequenceId<a name="line.53"></a>
-<span class="sourceLineNo">054</span>      + Bytes.SIZEOF_BOOLEAN); // tagsPresent<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public final static long DEEP_OVERHEAD = FIXED_OVERHEAD + ClassSize.ATOMIC_REFERENCE<a name="line.55"></a>
-<span class="sourceLineNo">056</span>      + ClassSize.CELL_SET + ClassSize.ATOMIC_LONG + ClassSize.TIMERANGE_TRACKER;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private AtomicReference&lt;CellSet&gt; cellSet= new AtomicReference&lt;&gt;();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>  private final CellComparator comparator;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  protected long minSequenceId;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  private MemStoreLAB memStoreLAB;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>  // Sum of sizes of all Cells added to this Segment. Cell's heapSize is considered. This is not<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  // including the heap overhead of this class.<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  protected final AtomicLong dataSize;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  protected final AtomicLong heapSize;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  protected final TimeRangeTracker timeRangeTracker;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  protected volatile boolean tagsPresent;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  // Empty constructor to be used when Segment is used as interface,<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  // and there is no need in true Segments state<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  protected Segment(CellComparator comparator) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    this.comparator = comparator;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    this.dataSize = new AtomicLong(0);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    this.heapSize = new AtomicLong(0);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    this.timeRangeTracker = new TimeRangeTracker();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>  // This constructor is used to create empty Segments.<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  protected Segment(CellSet cellSet, CellComparator comparator, MemStoreLAB memStoreLAB) {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    this.cellSet.set(cellSet);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    this.comparator = comparator;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    this.minSequenceId = Long.MAX_VALUE;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    this.memStoreLAB = memStoreLAB;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    this.dataSize = new AtomicLong(0);<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    this.heapSize = new AtomicLong(0);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    this.tagsPresent = false;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    this.timeRangeTracker = new TimeRangeTracker();<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  }<a name="line.88"></a>
-<span class="sourceLineNo">089</span><a name="line.89"></a>
-<span class="sourceLineNo">090</span>  protected Segment(Segment segment) {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    this.cellSet.set(segment.getCellSet());<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    this.comparator = segment.getComparator();<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    this.minSequenceId = segment.getMinSequenceId();<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    this.memStoreLAB = segment.getMemStoreLAB();<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    this.dataSize = new AtomicLong(segment.keySize());<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    this.heapSize = new AtomicLong(segment.heapSize.get());<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    this.tagsPresent = segment.isTagsPresent();<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    this.timeRangeTracker = segment.getTimeRangeTracker();<a name="line.98"></a>
-<span class="sourceLineNo">099</span>  }<a name="line.99"></a>
-<span class="sourceLineNo">100</span><a name="line.100"></a>
-<span class="sourceLineNo">101</span>  /**<a name="line.101"></a>
-<span class="sourceLineNo">102</span>   * Creates the scanner for the given read point<a name="line.102"></a>
-<span class="sourceLineNo">103</span>   * @return a scanner for the given read point<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   */<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  protected KeyValueScanner getScanner(long readPoint) {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    return new SegmentScanner(this, readPoint);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>  }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>  /**<a name="line.109"></a>
-<span class="sourceLineNo">110</span>   * Creates the scanner for the given read point, and a specific order in a list<a name="line.110"></a>
-<span class="sourceLineNo">111</span>   * @return a scanner for the given read point<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   */<a name="line.112"></a>
-<span class="sourceLineNo">113</span>  public KeyValueScanner getScanner(long readPoint, long order) {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    return new SegmentScanner(this, readPoint, order);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  }<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  public List&lt;KeyValueScanner&gt; getScanners(long readPoint, long order) {<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    return Collections.singletonList(new SegmentScanner(this, readPoint, order));<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  /**<a name="line.121"></a>
-<span class="sourceLineNo">122</span>   * @return whether the segment has any cells<a name="line.122"></a>
-<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  public boolean isEmpty() {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    return getCellSet().isEmpty();<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
-<span class="sourceLineNo">127</span><a name="line.127"></a>
-<span class="sourceLineNo">128</span>  /**<a name="line.128"></a>
-<span class="sourceLineNo">129</span>   * @return number of cells in segment<a name="line.129"></a>
-<span class="sourceLineNo">130</span>   */<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public int getCellsCount() {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    return getCellSet().size();<a name="line.132"></a>
-<span class="sourceLineNo">133</span>  }<a name="line.133"></a>
-<span class="sourceLineNo">134</span><a name="line.134"></a>
-<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * @return the first cell in the segment that has equal or greater key than the given cell<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   */<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  public Cell getFirstAfter(Cell cell) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    SortedSet&lt;Cell&gt; snTailSet = tailSet(cell);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    if (!snTailSet.isEmpty()) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>      return snTailSet.first();<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    return null;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  }<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">147</span>   * Closing a segment before it is being discarded<a name="line.147"></a>
-<span class="sourceLineNo">148</span>   */<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  public void close() {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    if (this.memStoreLAB != null) {<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      this.memStoreLAB.close();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    // do not set MSLab to null as scanners may still be reading the data here and need to decrease<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    // the counter when they finish<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  }<a name="line.155"></a>
-<span class="sourceLineNo">156</span><a name="line.156"></a>
-<span class="sourceLineNo">157</span>  /**<a name="line.157"></a>
-<span class="sourceLineNo">158</span>   * If the segment has a memory allocator the cell is being cloned to this space, and returned;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>   * otherwise the given cell is returned<a name="line.159"></a>
-<span class="sourceLineNo">160</span>   * @return either the given cell or its clone<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
-<span class="sourceLineNo">162</span>  public Cell maybeCloneWithAllocator(Cell cell) {<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    if (this.memStoreLAB == null) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>      return cell;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>    Cell cellFromMslab = this.memStoreLAB.copyCellInto(cell);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return (cellFromMslab != null) ? cellFromMslab : cell;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  }<a name="line.169"></a>
-<span class="sourceLineNo">170</span><a name="line.170"></a>
-<span class="sourceLineNo">171</span>  /**<a name="line.171"></a>
-<span class="sourceLineNo">172</span>   * Get cell length after serialized in {@link KeyValue}<a name="line.172"></a>
-<span class="sourceLineNo">173</span>   */<a name="line.173"></a>
-<span class="sourceLineNo">174</span>  @VisibleForTesting<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  static int getCellLength(Cell cell) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    return KeyValueUtil.length(cell);<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  public abstract boolean shouldSeek(Scan scan, long oldestUnexpiredTS);<a name="line.179"></a>
-<span class="sourceLineNo">180</span><a name="line.180"></a>
-<span class="sourceLineNo">181</span>  public abstract long getMinTimestamp();<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span>  public boolean isTagsPresent() {<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    return tagsPresent;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  }<a name="line.185"></a>
-<span class="sourceLineNo">186</span><a name="line.186"></a>
-<span class="sourceLineNo">187</span>  public void incScannerCount() {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    if (this.memStoreLAB != null) {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      this.memStoreLAB.incScannerCount();<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
-<span class="sourceLineNo">191</span>  }<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span>  public void decScannerCount() {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    if (this.memStoreLAB != null) {<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      this.memStoreLAB.decScannerCount();<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>
-<span class="sourceLineNo">200</span>   * Setting the CellSet of the segment - used only for flat immutable segment for setting<a name="line.200"></a>
-<span class="sourceLineNo">201</span>   * immutable CellSet after its creation in immutable segment constructor<a name="line.201"></a>
-<span class="sourceLineNo">202</span>   * @return this object<a name="line.202"></a>
-<span class="sourceLineNo">203</span>   */<a name="line.203"></a>
-<span class="sourceLineNo">204</span><a name="line.204"></a>
-<span class="sourceLineNo">205</span>  protected Segment setCellSet(CellSet cellSetOld, CellSet cellSetNew) {<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    this.cellSet.compareAndSet(cellSetOld, cellSetNew);<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    return this;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  }<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  /**<a name="line.210"></a>
-<span class="sourceLineNo">211</span>   * @return Sum of all cell's size.<a name="line.211"></a>
-<span class="sourceLineNo">212</span>   */<a name="line.212"></a>
-<span class="sourceLineNo">213</span>  public long keySize() {<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    return this.dataSize.get();<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  }<a name="line.215"></a>
-<span class="sourceLineNo">216</span><a name="line.216"></a>
-<span class="sourceLineNo">217</span>  /**<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   * @return The heap size of this segment.<a name="line.218"></a>
-<span class="sourceLineNo">219</span>   */<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  public long heapSize() {<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    return this.heapSize.get();<a name="line.221"></a>
-<span class="sourceLineNo">222</span>  }<a name="line.222"></a>
-<span class="sourceLineNo">223</span><a name="line.223"></a>
-<span class="sourceLineNo">224</span>  /**<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * Updates the size counters of the segment by the given delta<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>  //TODO<a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected void incSize(long delta, long heapOverhead) {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    this.dataSize.addAndGet(delta);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    this.heapSize.addAndGet(heapOverhead);<a name="line.230"></a>
-<span class="sourceLineNo">231</span>  }<a name="line.231"></a>
-<span class="sourceLineNo">232</span><a name="line.232"></a>
-<span class="sourceLineNo">233</span>  public long getMinSequenceId() {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    return minSequenceId;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  }<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span>  public TimeRangeTracker getTimeRangeTracker() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    return this.timeRangeTracker;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  }<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  //*** Methods for SegmentsScanner<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  public Cell last() {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    return getCellSet().last();<a name="line.243"></a>
-<span class="sourceLineNo">244</span>  }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>  public Iterator&lt;Cell&gt; iterator() {<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    return getCellSet().iterator();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  }<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  public SortedSet&lt;Cell&gt; headSet(Cell firstKeyOnRow) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    return getCellSet().headSet(firstKeyOnRow);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>  }<a name="line.252"></a>
-<span class="sourceLineNo">253</span><a name="line.253"></a>
-<span class="sourceLineNo">254</span>  public int compare(Cell left, Cell right) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    return getComparator().compare(left, right);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>  }<a name="line.256"></a>
-<span class="sourceLineNo">257</span><a name="line.257"></a>
-<span class="sourceLineNo">258</span>  public int compareRows(Cell left, Cell right) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    return getComparator().compareRows(left, right);<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  /**<a name="line.262"></a>
-<span class="sourceLineNo">263</span>   * @return a set of all cells in the segment<a name="line.263"></a>
-<span class="sourceLineNo">264</span>   */<a name="line.264"></a>
-<span class="sourceLineNo">265</span>  protected CellSet getCellSet() {<a name="line.265"></a>
-<span class="sourceLineNo">266</span>    return cellSet.get();<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  }<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>  /**<a name="line.269"></a>
-<span class="sourceLineNo">270</span>   * Returns the Cell comparator used by this segment<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   * @return the Cell comparator used by this segment<a name="line.271"></a>
-<span class="sourceLineNo">272</span>   */<a name="line.272"></a>
-<span class="sourceLineNo">273</span>  protected CellComparator getComparator() {<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    return comparator;<a name="line.274"></a>
-<span class="sourceLineNo">275</span>  }<a name="line.275"></a>
-<span class="sourceLineNo">276</span><a name="line.276"></a>
-<span class="sourceLineNo">277</span>  protected void internalAdd(Cell cell, boolean mslabUsed, MemstoreSize memstoreSize) {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    boolean succ = getCellSet().add(cell);<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    updateMetaInfo(cell, succ, mslabUsed, memstoreSize);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>  }<a name="line.280"></a>
-<span class="sourceLineNo">281</span><a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected void updateMetaInfo(Cell cellToAdd, boolean succ, boolean mslabUsed,<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      MemstoreSize memstoreSize) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    long cellSize = 0;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    // If there's already a same cell in the CellSet and we are using MSLAB, we must count in the<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    // MSLAB allocation size as well, or else there will be memory leak (occupied heap size larger<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    // than the counted number)<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    if (succ || mslabUsed) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span>      cellSize = getCellLength(cellToAdd);<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    long heapSize = heapSizeChange(cellToAdd, succ);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    incSize(cellSize, heapSize);<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    if (memstoreSize != null) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      memstoreSize.incMemstoreSize(cellSize, heapSize);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    }<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    getTimeRangeTracker().includeTimestamp(cellToAdd);<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    minSequenceId = Math.min(minSequenceId, cellToAdd.getSequenceId());<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    // In no tags case this NoTagsKeyValue.getTagsLength() is a cheap call.<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    // When we use ACL CP or Visibility CP which deals with Tags during<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    // mutation, the TagRewriteCell.getTagsLength() is a cheaper call. We do not<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    // parse the byte[] to identify the tags length.<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    if (cellToAdd.getTagsLength() &gt; 0) {<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      tagsPresent = true;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    }<a name="line.304"></a>
-<span class="sourceLineNo">305</span>  }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span>  /**<a name="line.307"></a>
-<span class="sourceLineNo">308</span>   * @return The increase in heap size because of this cell addition. This includes this cell POJO's<a name="line.308"></a>
-<span class="sourceLineNo">309</span>   *         heap size itself and additional overhead because of addition on to CSLM.<a name="line.309"></a>
-<span class="sourceLineNo">310</span>   */<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  protected long heapSizeChange(Cell cell, boolean succ) {<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    if (succ) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      return ClassSize<a name="line.313"></a>
-<span class="sourceLineNo">314</span>          .align(ClassSize.CONCURRENT_SKIPLISTMAP_ENTRY + CellUtil.estimatedHeapSizeOf(cell));<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    }<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    return 0;<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  }<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>  /**<a name="line.319"></a>
-<span class="sourceLineNo">320</span>   * Returns a subset of the segment cell set, which starts with the given cell<a name="line.320"></a>
-<span class="sourceLineNo">321</span>   * @param firstCell a cell in the segment<a name="line.321"></a>
-<span class="sourceLineNo">322</span>   * @return a subset of the segment cell set, which starts with the given cell<a name="line.322"></a>
-<span class="sourceLineNo">323</span>   */<a name="line.323"></a>
-<span class="sourceLineNo">324</span>  protected SortedSet&lt;Cell&gt; tailSet(Cell firstCell) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>    return getCellSet().tailSet(firstCell);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span>  @VisibleForTesting<a name="line.328"></a>
-<span class="sourceLineNo">329</span>  MemStoreLAB getMemStoreLAB() {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    return memStoreLAB;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>  }<a name="line.331"></a>
-<span class="sourceLineNo">332</span><a name="line.332"></a>
-<span class="sourceLineNo">333</span>  // Debug methods<a name="line.333"></a>
-<span class="sourceLineNo">334</span>  /**<a name="line.334"></a>
-<span class="sourceLineNo">335</span>   * Dumps all cells of the segment into the given log<a name="line.335"></a>
-<span class="sourceLineNo">336</span>   */<a name="line.336"></a>
-<span class="sourceLineNo">337</span>  void dump(Log log) {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    for (Cell cell: getCellSet()) {<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      log.debug(cell);<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    }<a name="line.340"></a>
-<span class="sourceLineNo">341</span>  }<a name="line.341"></a>
-<span class="sourceLineNo">342</span><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  @Override<a name="line.343"></a>
-<span class="sourceLineNo">344</span>  public String toString() {<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    String res = "Store segment of type "+this.getClass().getName()+"; ";<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    res += "isEmpty "+(isEmpty()?"yes":"no")+"; ";<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    res += "cellsCount "+getCellsCount()+"; ";<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    res += "cellsSize "+keySize()+"; ";<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    res += "totalHeapSize "+heapSize()+"; ";<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    res += "Min ts "+getMinTimestamp()+"; ";<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    return res;<a name="line.351"></a>
-<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
-<span class="sourceLineNo">353</span>}<a name="line.353"></a>
+<span class="sourceLineNo">051</span>  public final static long FIXED_OVERHEAD = ClassSize.align(ClassSize.OBJECT<a name="line.51"></a>
+<span class="sourceLineNo">052</span>      + 6 * ClassSize.REFERENCE // cellSet, comparator, memStoreLAB, dataSize,<a name="line.52"></a>
+<span class="sourceLineNo">053</span>                                // heapSize, and timeRangeTracker<a name="line.53"></a>
+<span class="sourceLineNo">054</span>      + Bytes.SIZEOF_LONG // minSequenceId<a name="line.54"></a>
+<span class="sourceLineNo">055</span>      + Bytes.SIZEOF_BOOLEAN); // tagsPresent<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  public final static long DEEP_OVERHEAD = FIXED_OVERHEAD + ClassSize.ATOMIC_REFERENCE<a name="line.56"></a>
+<span class="sourceLineNo">057</span>      + ClassSize.CELL_SET + 2 * ClassSize.ATOMIC_LONG + ClassSize.TIMERANGE_TRACKER;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private AtomicReference&lt;CellSet&gt; cellSet= new AtomicReference&lt;&gt;();<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  private final CellComparator comparator;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  protected long minSequenceId;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  private MemStoreLAB memStoreLAB;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  // Sum of sizes of all Cells added to this Segment. Cell's heapSize is considered. This is not<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  // including the heap overhead of this class.<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  protected final AtomicLong dataSize;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  protected final AtomicLong heapSize;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  protected final TimeRangeTracker timeRangeTracker;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  protected volatile boolean tagsPresent;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  // Empty constructor to be used when Segment is used as interface,<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  // and there is no need in true Segments state<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  protected Segment(CellComparator comparator) {<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    this.comparator = comparator;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    this.dataSize = new AtomicLong(0);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    this.heapSize = new AtomicLong(0);<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    this.timeRangeTracker = new TimeRangeTracker();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  // This constructor is used to create empty Segments.<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  protected Segment(CellSet cellSet, CellComparator comparator, MemStoreLAB memStoreLAB) {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    this.cellSet.set(cellSet);<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    this.comparator = comparator;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    this.minSequenceId = Long.MAX_VALUE;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    this.memStoreLAB = memStoreLAB;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    this.dataSize = new AtomicLong(0);<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    this.heapSize = new AtomicLong(0);<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    this.tagsPresent = false;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    this.timeRangeTracker = new TimeRangeTracker();<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  }<a name="line.89"></a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span>  protected Segment(Segment segment) {<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    this.cellSet.set(segment.getCellSet());<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    this.comparator = segment.getComparator();<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    this.minSequenceId = segment.getMinSequenceId();<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    this.memStoreLAB = segment.getMemStoreLAB();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    this.dataSize = new AtomicLong(segment.keySize());<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    this.heapSize = new AtomicLong(segment.heapSize.get());<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    this.tagsPresent = segment.isTagsPresent();<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    this.timeRangeTracker = segment.getTimeRangeTracker();<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  }<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>   * Creates the scanner for the given read point<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   * @return a scanner for the given read point<a name="line.104"></a>
+<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  protected KeyValueScanner getScanner(long readPoint) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    return new SegmentScanner(this, readPoint);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  /**<a name="line.110"></a>
+<span class="sourceLineNo">111</span>   * Creates the scanner for the given read point, and a specific order in a list<a name="line.111"></a>
+<span class="sourceLineNo">112</span>   * @return a scanner for the given read point<a name="line.112"></a>
+<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public KeyValueScanner getScanner(long readPoint, long order) {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return new SegmentScanner(this, readPoint, order);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public List&lt;KeyValueScanner&gt; getScanners(long readPoint, long order) {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return Collections.singletonList(new SegmentScanner(this, readPoint, order));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>  /**<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   * @return whether the segment has any cells<a name="line.123"></a>
+<span class="sourceLineNo">124</span>   */<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  public boolean isEmpty() {<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    return getCellSet().isEmpty();<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  }<a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128"></a>
+<span class="sourceLineNo">129</span>  /**<a name="line.129"></a>
+<span class="sourceLineNo">130</span>   * @return number of cells in segment<a name="line.130"></a>
+<span class="sourceLineNo">131</span>   */<a name="line.131"></a>
+<span class="sourceLineNo">132</span>  public int getCellsCount() {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    return getCellSet().size();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135"></a>
+<span class="sourceLineNo">136</span>  /**<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * @return the first cell in the segment that has equal or greater key than the given cell<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   */<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  public Cell getFirstAfter(Cell cell) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    SortedSet&lt;Cell&gt; snTailSet = tailSet(cell);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    if (!snTailSet.isEmpty()) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>      return snTailSet.first();<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    }<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    return null;<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">147</span>  /**<a name="line.147"></a>
+<span class="sourceLineNo">148</span>   * Closing a segment before it is being discarded<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   */<a name="line.149"></a>
+<span class="sourceLineNo">150</span>  public void close() {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    if (this.memStoreLAB != null) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      this.memStoreLAB.close();<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    }<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    // do not set MSLab to null as scanners may still be reading the data here and need to decrease<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    // the counter when they finish<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  }<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span>  /**<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * If the segment has a memory allocator the cell is being cloned to this space, and returned;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * otherwise the given cell is returned<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   * @return either the given cell or its clone<a name="line.161"></a>
+<span class="sourceLineNo">162</span>   */<a name="line.162"></a>
+<span class="sourceLineNo">163</span>  public Cell maybeCloneWithAllocator(Cell cell) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    if (this.memStoreLAB == null) {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>      return cell;<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">168</span>    Cell cellFromMslab = this.memStoreLAB.copyCellInto(cell);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    return (cellFromMslab != null) ? cellFromMslab : cell;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>  }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  /**<a name="line.172"></a>
+<span class="sourceLineNo">173</span>   * Get cell length after serialized in {@link KeyValue}<a name="line.173"></a>
+<span class="sourceLineNo">174</span>   */<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  @VisibleForTesting<a name="line.175"></a>
+<span class="sourceLineNo">176</span>  static int getCellLength(Cell cell) {<a name="line.176"></a>
+<span class="sourceLineNo">177</span>    return KeyValueUtil.length(cell);<a name="line.177"></a>
+<span class="sourceLineNo">178</span>  }<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>  public abstract boolean shouldSeek(Scan scan, long oldestUnexpiredTS);<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>  public abstract long getMinTimestamp();<a name="line.182"></a>
+<span class="sourceLineNo">183</span><a name="line.183"></a>
+<span class="sourceLineNo">184</span>  public boolean isTagsPresent() {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    return tagsPresent;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  public void incScannerCount() {<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    if (this.memStoreLAB != null) {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>      this.memStoreLAB.incScannerCount();<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span>  public void decScannerCount() {<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    if (this.memStoreLAB != null) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>      this.memStoreLAB.decScannerCount();<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>  }<a name="line.198"></a>
+<span class="sourceLineNo">199</span><a name="line.199"></a>
+<span class="sourceLineNo">200</span>  /**<a name="line.200"></a>
+<span class="sourceLineNo">201</span>   * Setting the CellSet of the segment - used only for flat immutable segment for setting<a name="line.201"></a>
+<span class="sourceLineNo">202</span>   * immutable CellSet after its creation in immutable segment constructor<a name="line.202"></a>
+<span class="sourceLineNo">203</span>   * @return this object<a name="line.203"></a>
+<span class="sourceLineNo">204</span>   */<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected Segment setCellSet(CellSet cellSetOld, CellSet cellSetNew) {<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    this.cellSet.compareAndSet(cellSetOld, cellSetNew);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    return this;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  }<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span>  /**<a name="line.211"></a>
+<span class="sourceLineNo">212</span>   * @return Sum of all cell's size.<a name="line.212"></a>
+<span class="sourceLineNo">213</span>   */<a name="line.213"></a>
+<span class="sourceLineNo">214</span>  public long keySize() {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>    return this.dataSize.get();<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>  /**<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   * @return The heap size of this segment.<a name="line.219"></a>
+<span class="sourceLineNo">220</span>   */<a name="line.220"></a>
+<span class="sourceLineNo">221</span>  public long heapSize() {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    return this.heapSize.get();<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  }<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  /**<a name="line.225"></a>
+<span class="sourceLineNo">226</span>   * Updates the size counters of the segment by the given delta<a name="line.226"></a>
+<span class="sourceLineNo">227</span>   */<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  //TODO<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  protected void incSize(long delta, long heapOverhead) {<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    this.dataSize.addAndGet(delta);<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    this.heapSize.addAndGet(heapOverhead);<a name="line.231"></a>
+<span class="sourceLineNo">232</span>  }<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span>  public long getMinSequenceId() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    return minSequenceId;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  }<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>  public TimeRangeTracker getTimeRangeTracker() {<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    return this.timeRangeTracker;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>  }<a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span>  //*** Methods for SegmentsScanner<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  public Cell last() {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    return getCellSet().last();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  }<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span>  public Iterator&lt;Cell&gt; iterator() {<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    return getCellSet().iterator();<a name="line.248"></a>
+<span class="sourceLineNo">249</span>  }<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>  public SortedSet&lt;Cell&gt; headSet(Cell firstKeyOnRow) {<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    return getCellSet().headSet(firstKeyOnRow);<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  }<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  public int compare(Cell left, Cell right) {<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    return getComparator().compare(left, right);<a name="line.256"></a>
+<span class="sourceLineNo">257</span>  }<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public int compareRows(Cell left, Cell right) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    return getComparator().compareRows(left, right);<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  }<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /**<a name="line.263"></a>
+<span class="sourceLineNo">264</span>   * @return a set of all cells in the segment<a name="line.264"></a>
+<span class="sourceLineNo">265</span>   */<a name="line.265"></a>
+<span class="sourceLineNo">266</span>  protected CellSet getCellSet() {<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    return cellSet.get();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  }<a name="line.268"></a>
+<span class="sourceLineNo">269</span><a name="line.269"></a>
+<span class="sourceLineNo">270</span>  /**<a name="line.270"></a>
+<span class="sourceLineNo">271</span>   * Returns the Cell comparator used by this segment<a name="line.271"></a>
+<span class="sourceLineNo">272</span>   * @return the Cell comparator used by this segment<a name="line.272"></a>
+<span class="sourceLineNo">273</span>   */<a name="line.273"></a>
+<span class="sourceLineNo">274</span>  protected CellComparator getComparator() {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    return comparator;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  }<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  protected void internalAdd(Cell cell, boolean mslabUsed, MemstoreSize memstoreSize) {<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    boolean succ = getCellSet().add(cell);<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    updateMetaInfo(cell, succ, mslabUsed, memstoreSize);<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  }<a name="line.281"></a>
+<span class="sourceLineNo">282</span><a name="line.282"></a>
+<span class="sourceLineNo">283</span>  protected void updateMetaInfo(Cell cellToAdd, boolean succ, boolean mslabUsed,<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      MemstoreSize memstoreSize) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    long cellSize = 0;<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    // If there's already a same cell in the CellSet and we are using MSLAB, we must count in the<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    // MSLAB allocation size as well, or else there will be memory leak (occupied heap size larger<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    // than the counted number)<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    if (succ || mslabUsed) {<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      cellSize = getCellLength(cellToAdd);<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    }<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    long heapSize = heapSizeChange(cellToAdd, succ);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    incSize(cellSize, heapSize);<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    if (memstoreSize != null) {<a name="line.294"></a>
+<span class="sourceLineNo">295</span>      memstoreSize.incMemstoreSize(cellSize, heapSize);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    }<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    getTimeRangeTracker().includeTimestamp(cellToAdd);<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    minSequenceId = Math.min(minSequenceId, cellToAdd.getSequenceId());<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    // In no tags case this NoTagsKeyValue.getTagsLength() is a cheap call.<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    // When we use ACL CP or Visibility CP which deals with Tags during<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    // mutation, the TagRewriteCell.getTagsLength() is a cheaper call. We do not<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    // parse the byte[] to identify the tags length.<a name="line.302"></a>
+<span class="sourceLineNo">303</span>    if (cellToAdd.getTagsLength() &gt; 0) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      tagsPresent = true;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  }<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>  /**<a name="line.308"></a>
+<span class="sourceLineNo">309</span>   * @return The increase in heap size because of this cell addition. This includes this cell POJO's<a name="line.309"></a>
+<span class="sourceLineNo">310</span>   *         heap size itself and additional overhead because of addition on to CSLM.<a name="line.310"></a>
+<span class="sourceLineNo">311</span>   */<a name="line.311"></a>
+<span class="sourceLineNo">312</span>  protected long heapSizeChange(Cell cell, boolean succ) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    if (succ) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      return ClassSize<a name="line.314"></a>
+<span class="sourceLineNo">315</span>          .align(ClassSize.CONCURRENT_SKIPLISTMAP_ENTRY + CellUtil.estimatedHeapSizeOf(cell));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    return 0;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  }<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>  /**<a name="line.320"></a>
+<span class="sourceLineNo">321</span>   * Returns a subset of the segment cell set, which starts with the given cell<a name="line.321"></a>
+<span class="sourceLineNo">322</span>   * @param firstCell a cell in the segment<a name="line.322"></a>
+<span class="sourceLineNo">323</span>   * @return a subset of the segment cell set, which starts with the given cell<a name="line.323"></a>
+<span class="sourceLineNo">324</span>   */<a name="line.324"></a>
+<span class="sourceLineNo">325</span>  protected SortedSet&lt;Cell&gt; tailSet(Cell firstCell) {<a name="line.325"></a>
+<span class="sourceLineNo">326</span>    return getCellSet().tailSet(firstCell);<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
+<span class="sourceLineNo">328</span><a name="line.328"></a>
+<span class="sourceLineNo">329</span>  @VisibleForTesting<a name="line.329"></a>
+<span class="sourceLineNo">330</span>  MemStoreLAB getMemStoreLAB() {<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    return memStoreLAB;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  }<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>  // Debug methods<a name="line.334"></a>
+<span class="sourceLineNo">335</span>  /**<a name="line.335"></a>
+<span class="sourceLineNo">336</span>   * Dumps all cells of the segment into the given log<a name="line.336"></a>
+<span class="sourceLineNo">337</span>   */<a name="line.337"></a>
+<span class="sourceLineNo">338</span>  void dump(Log log) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    for (Cell cell: getCellSet()) {<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      log.debug(cell);<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    }<a name="line.341"></a>
+<span class="sourceLineNo">342</span>  }<a name="line.342"></a>
+<span class="sourceLineNo">343</span><a name="line.343"></a>
+<span class="sourceLineNo">344</span>  @Override<a name="line.344"></a>
+<span class="sourceLineNo">345</span>  public String toString() {<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    String res = "Store segment of type "+this.getClass().getName()+"; ";<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    res += "isEmpty "+(isEmpty()?"yes":"no")+"; ";<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    res += "cellsCount "+getCellsCount()+"; ";<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    res += "cellsSize "+keySize()+"; ";<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    res += "totalHeapSize "+heapSize()+"; ";<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    res += "Min ts "+getMinTimestamp()+"; ";<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    return res;<a name="line.352"></a>
+<span class="sourceLineNo">353</span>  }<a name="line.353"></a>
+<span class="sourceLineNo">354</span>}<a name="line.354"></a>